Liferay roba specifico, ecco un esempio di codice da scrivere nella vostra classe Portlet per recuperare l'utente:
ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
User user = themeDisplay.getRealUser(); // it gives you the actual Logged in User
//you can also use
// User user = themeDisplay.getUser(); // this would fetch the User you are impersonating
long userId = user.getUserId();
String userName = user.getEmailAddress();
alternativa;
long userId = themeDisplay.getRealUserId(); // themeDisplay.getUserId();
User user = UserLocalServiceUtil.getUser(userId);
rappresentare l'utente:
Liferay ha un concetto che gli amministratori (o persone con il giusto set di autorizzazioni) può impersonare un particolare utente del portale. Attraverso questo possono vedere come il portale guarda a quell'utente.
Per eseguire il codice quando l'utente cambia la propria password: Un approccio potrebbe essere quello di creare un hook plugin e ridefinendo i servizi estendendo la classe UserLocalServiceWrapper. Quindi verifica la modifica della password ed esegui il codice all'interno della tua classe personalizzata.
Spero che questo aiuti.
fonte
2012-03-15 14:14:40
Il servizio specifico Liferay è UserServiceUtil – frandevel
Tecnicamente, si può rimanere più portale indipendente utilizzando 'portletRequest.getAttribute (PortletRequest.USER_INFO)'.Ciò restituisce una mappa degli attributi utente che può essere definita da ciascuna implementazione del portale. Vedi 'portlet-custom.xml' e' com.liferay.portlet.UserAttributes' per gli attributi utente di Liferay. Per la maggior parte, i nomi degli attributi utente sono quelli raccomandati dalle specifiche del portlet. –