【发布时间】:2020-02-19 14:36:41
【问题描述】:
我正在使用以下命令在自定义 magnolia 类中获取用户名:String userName = MgnlContext.getInstance().getJCRSession("website").getUserID();
当命令被触发时,我没有获取在 magnolia 中登录的用户的名称,而是获取 admin 的值。如何获取真实用户名 - 登录 magnolia 的用户名?
【问题讨论】:
标签: magnolia
我正在使用以下命令在自定义 magnolia 类中获取用户名:String userName = MgnlContext.getInstance().getJCRSession("website").getUserID();
当命令被触发时,我没有获取在 magnolia 中登录的用户的名称,而是获取 admin 的值。如何获取真实用户名 - 登录 magnolia 的用户名?
【问题讨论】:
标签: magnolia
实际上要获取当前用户,您想要的是注入MgnlContext 或通过MgnlContext.getInstance() 调用获取它。
获得上下文后,调用 ctx.getUser().getName() 以获取当前用户名。
【讨论】:
您可以将info.magnolia.cms.security.SecuritySupport 注入您的班级并使用
info.magnolia.cms.security.SecuritySupport#getUserManager()
之后,您将接触到大量实用方法,可以获取所有用户或按组获取用户等。
【讨论】: