シンプルなJavaコードを使用して現在のユーザーを Liferay ポータルに接続するにはどうすればよいですか?
Liferay 6.0.6を使用しています
単に:
User currentUser = PortalUtil.getUser(request);
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ポータル間で移植可能である必要があります。
Java コードの場合:
UserLocalServiceUtil.getXXX
必要に応じて選択してください。JSP コードの場合:
themeDisplay.getUserId()
現在のユーザーIDが表示されますthemeDisplay.getUser()
現在のユーザーのオブジェクトを提供します。