【问题标题】:How can I get the current user in Liferay?如何获取 Liferay 中的当前用户?
【发布时间】:2012-05-18 09:34:16
【问题描述】:

如何使用简单的 Java 代码让当前用户连接到 Liferay 门户?

我正在使用 Liferay 6.0.6

【问题讨论】:

标签: java liferay-6


【解决方案1】:

简单地说:

User currentUser = PortalUtil.getUser(request);

【讨论】:

    【解决方案2】:

    在您的 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 门户之间移植。

    来源:Get the current user Liferay using a simple Java code

    【讨论】:

      【解决方案3】:

      在 Java 代码中:

      • UserLocalServiceUtil.getXXX 方法都有,随意选择。

      在 JSP 代码中:

      • themeDisplay.getUserId() 会给你当前的用户 ID
      • themeDisplay.getUser() 会给你当前用户的对象。

      【讨论】:

        猜你喜欢
        • 2012-04-03
        • 2012-05-27
        • 2012-05-13
        • 2020-12-31
        • 2014-08-21
        • 2020-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多