Sto lavorando con: Liferay 6.0.6 con JBoss 5.1 e Struts2.Prendi l'utente corrente Liferay utilizzando un semplice codice Java
La mia domanda è, come ottenere l'utente corrente in Liferay una volta effettuato l'accesso, utilizzando un codice Java .
Sto lavorando con: Liferay 6.0.6 con JBoss 5.1 e Struts2.Prendi l'utente corrente Liferay utilizzando un semplice codice Java
La mia domanda è, come ottenere l'utente corrente in Liferay una volta effettuato l'accesso, utilizzando un codice Java .
nel metodo doView/processAction facciamo seguire
User user = (User) request.getAttribute(WebKeys.USER);
o utilizzare l'oggetto ThemeDisplay. Esso contiene un altro informazioni come CompanyID, groupId, ...
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();
Classi ThemeDisplay, WebKeys nad utenti fanno parte del portale-service.jar.
Se avete bisogno solo alcuni ID per identificare l'utente corrente è anche possibile utilizzare
String userId = request.getRemoteUser();
Questa soluzione non è Liferay specifico e dovrebbe essere portabile tra JSR-286 portali.
vi ringrazio molto :) io prova tutto questo e vi dirò – Sabrina
mi può dirvi di più sull'istanza "richiesta". come inizializzarlo? – Sabrina
sua sia RenderRequest, ActionRequest, EventRequest o ResourceRequest. Se non si ha familiarità con loro allora si dovrebbe leggere alcuni portlet tutorial, ad esempio http://www.liferay.com/documentation/liferay-portal/6.0/development/-/ai/understanding-the-two-phases-of- . portlet esecuzione –
Liferay offre classe Util
com.liferay.portal.util.PortalUtil
Questa classe contiene tutti i metodi di utilità per ottenere gli attributi di uso frequente.
Prova utilizzando PortalUtil.getUser(PortletRequest portletRequest)
metodo per evitare la creazione di nuovi oggetti e riferimenti.
Qual è il diverso con ThemeDisplay? – cheloncio
@zhelon, niente, è recuperare themeDisplay dalla richiesta, e quindi getUser() da esso, PortalUtil.getUser() recupera lo stesso da richiesta, se si vede PortalImpl.getUser() allora si noterà questo request.getAttribute (WebKeys. UTENTE); –
Questo è un altro modo possibile per farlo:
private LiferayFacesContext liferayFacesContext = LiferayFacesContext.getInstance();
User currentUser=liferayFacesContext.getUser()
usando da ID di accesso? –
Volevo dire, la soluzione deve essere un codice Java e dobbiamo recuperare l'utente corrente tramite e-mail :) – Sabrina