med
med

Reputation: 161

How can I get the current user in Liferay?

How can I get the current user connected to a Liferay portal with a simple Java code?

I'm using Liferay 6.0.6

Upvotes: 16

Views: 41739

Answers (3)

Ravi Kumar Gupta
Ravi Kumar Gupta

Reputation: 1798

In your doView/processAction method do following

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

or use the ThemeDisplay object. It contains another information like companyId, groupId, ...

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

Classes ThemeDisplay, User and WebKeys are part of portal-service.jar.

If you need just some id to identify current user you can also use

String userId = request.getRemoteUser();

This solution is not Liferay specific and should be portable among jsr-286 portals.

Source: Get the current user Liferay using a simple Java code

Upvotes: 10

Mark
Mark

Reputation: 18787

Simply:

User currentUser = PortalUtil.getUser(request);

Upvotes: 28

Vipin Bardia
Vipin Bardia

Reputation: 179

In Java Code:

  • UserLocalServiceUtil.getXXX methods are there, choose as you want.

In JSP Code:

  • themeDisplay.getUserId() will give you the current user id
  • themeDisplay.getUser() will give you the object of current User.

Upvotes: 3

Related Questions