【问题标题】:Get username in magnolia在木兰中获取用户名
【发布时间】:2020-02-19 14:36:41
【问题描述】:

我正在使用以下命令在自定义 magnolia 类中获取用户名:String userName = MgnlContext.getInstance().getJCRSession("website").getUserID(); 当命令被触发时,我没有获取在 magnolia 中登录的用户的名称,而是获取 admin 的值。如何获取真实用户名 - 登录 magnolia 的用户名?

【问题讨论】:

    标签: magnolia


    【解决方案1】:

    实际上要获取当前用户,您想要的是注入MgnlContext 或通过MgnlContext.getInstance() 调用获取它。
    获得上下文后,调用 ctx.getUser().getName() 以获取当前用户名。

    【讨论】:

      【解决方案2】:

      您可以将info.magnolia.cms.security.SecuritySupport 注入您的班级并使用

      info.magnolia.cms.security.SecuritySupport#getUserManager() 之后,您将接触到大量实用方法,可以获取所有用户或按组获取用户等。

      【讨论】:

      • 谢谢@ducaz035。我还可以获取 JCR 组件的 mgnl:lastModifiedBy 属性,因为更准确地说,我需要最后一个更改页面、组件或区域的用户。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      相关资源
      最近更新 更多