web-dev-qa-db-ja.com

Liferayで現在のユーザーを取得するにはどうすればよいですか?

簡単なJavaコードで現在のユーザーをLiferayポータルに接続するにはどうすればよいですか?

私は使用していますLiferay 6.0.6

14
med

単に:

User currentUser = PortalUtil.getUser(request);
24
Mark

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コード を使用して現在のユーザーLiferayを取得します

10

Javaコード:

  • _UserLocalServiceUtil.getXXX_メソッドがあり、必要に応じて選択します。

JSPコードの場合:

  • themeDisplay.getUserId()は、現在のユーザーIDを提供します
  • themeDisplay.getUser()は、現在のユーザーのオブジェクトを提供します。
2
Vipin Bardia