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
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
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ệnthemeDisplay.getUser()
sẽ cung cấp cho bạn các đối tượng của người dùng hiện hành.Đơn giản chỉ cần:
User currentUser = PortalUtil.getUser(request);
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
Xem này: http://stackoverflow.com/questions/10448193/get-the-current-user-liferay-using-a-simple-java-code – dragon66
Đ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 –