2012-05-09 30 views
12

Tôi làm cách nào để người dùng hiện tại được kết nối với cổng thông tin Liferay với mã đơn giản Java?Tôi làm cách nào để có được người dùng hiện tại trong Liferay?

Tôi đang sử dụng Liferay 6.0.6

+0

Xem này: http://stackoverflow.com/questions/10448193/get-the-current-user-liferay-using-a-simple-java-code – dragon66

+0

Điều này có thể trùng lặp của vấn đề được đề cập bởi @ dragon66. Điều này cũng có thể giúp http://stackoverflow.com/questions/970986/accessing-the-user-from-a-liferay-portlet –

Trả lời

2

Trong Mã Java:

  • UserLocalServiceUtil.getXXX phương pháp đó, chọn như bạn muốn.

Trong Mã JSP:

  • themeDisplay.getUserId() sẽ cung cấp cho bạn id người dùng hiện
  • themeDisplay.getUser() sẽ cung cấp cho bạn các đối tượng của người dùng hiện hành.
22

Đơn giản chỉ cần:

User currentUser = PortalUtil.getUser(request); 
9

Trong doView/phương pháp processAction bạn làm sau

User user = (User) request.getAttribute(WebKeys.USER); 

hoặc sử dụng các đối tượng ThemeDisplay. Nó chứa một thông tin khác như companyId, groupId, ...

ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY); 
User user = td.getUser(); 

Lớp học ThemeDisplay, Người dùng và WebKey là một phần của portal-service.jar.

Nếu bạn cần chỉ là một số id để xác định người sử dụng hiện tại bạn cũng có thể sử dụng

String userId = request.getRemoteUser(); 

Giải pháp này không phải là Liferay cụ thể và nên linh động trong JSR-286 cổng.

Nguồn: Get the current user Liferay using a simple Java code

Các vấn đề liên quan