Foren
How to get real user in portlet?
Gwowen Fu, geändert vor 11 Jahren.
How to get real user in portlet?
Expert Beiträge: 315 Beitrittsdatum: 27.12.10 Neueste Beiträge
Hi,
After impersonating a user, how could I get the real user object or id?
Thanks!
Gwowen
After impersonating a user, how could I get the real user object or id?
Thanks!
Gwowen
mohammad azaruddin, geändert vor 11 Jahren.
RE: How to get real user in portlet?
Expert Beiträge: 492 Beitrittsdatum: 17.09.12 Neueste Beiträge
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();
User user = td.getUser();
Gwowen Fu, geändert vor 11 Jahren.
RE: How to get real user in portlet?
Expert Beiträge: 315 Beitrittsdatum: 27.12.10 Neueste Beiträgemohammad azaruddin:
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();
Tried that already and ThemeDisplay.getUser() returns the impersonated user, not the real user.
Also tried PortalUtil.getUserId(request) and it also returns the impersonated user ID.
David H Nebinger, geändert vor 11 Jahren.
RE: How to get real user in portlet?
Liferay Legend Beiträge: 14919 Beitrittsdatum: 02.09.06 Neueste Beiträge
To get the real user id:
1. enable the com.liferay.portal.servlet.filters.audit.AuditFilter by setting it to true in portal-ext.properties.
2. use the following code:
Or you can do it the way AuditFilter does by getting the original http request, get the session from the request, then extract the WebKeys.USER_ID attribute.
1. enable the com.liferay.portal.servlet.filters.audit.AuditFilter by setting it to true in portal-ext.properties.
2. use the following code:
AuditRequestThreadLocal auditRequest = AuditRequestThreadLocal.getAuditThreadLocal();
if (auditRequest != null) realUserId = auditRequest.getRealUserId();
Or you can do it the way AuditFilter does by getting the original http request, get the session from the request, then extract the WebKeys.USER_ID attribute.
Gwowen Fu, geändert vor 11 Jahren.
RE: How to get real user in portlet? (Antwort)
Expert Beiträge: 315 Beitrittsdatum: 27.12.10 Neueste Beiträge
Thanks for the reply. I missed the ThemeDisplay.getRealUser() method. ThemeDisplay.getRealUser() works.