JBoss 5.1およびStruts2を使用したLiferay 6.0.6。
私の質問は、Javaコードを使用して、ログインしたらLiferayで現在のユーザーを取得する方法です。
JBoss 5.1およびStruts2を使用したLiferay 6.0.6。
私の質問は、Javaコードを使用して、ログインしたらLiferayで現在のユーザーを取得する方法です。
doView/processAction メソッドで次の操作を行います
User user = (User) request.getAttribute(WebKeys.USER);
または ThemeDisplay オブジェクトを使用します。companyId、groupId などの別の情報が含まれています。
ThemeDisplay td =(ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
User user = td.getUser();
クラス ThemeDisplay、User、および WebKeys は、portal-service.jar の一部です。
現在のユーザーを識別するためにIDが必要な場合は、使用することもできます
String userId = request.getRemoteUser();
このソリューションは Liferay 固有のものではなく、jsr-286 ポータル間で移植可能である必要があります。
これはそれを行う別の可能な方法です:
private LiferayFacesContext liferayFacesContext = LiferayFacesContext.getInstance();
User currentUser=liferayFacesContext.getUser()
Liferay は Util クラスを提供します
com.liferay.portal.util.PortalUtil
このクラスには、頻繁に使用される属性を取得するためのすべてのユーティリティ メソッドが含まれています。
メソッドを使用しPortalUtil.getUser(PortletRequest portletRequest)
て、新しいオブジェクトと参照を作成しないようにしてください。