在木兰中获取用户名

Posted

技术标签:

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

谢谢@ducaz035。我还可以获取 JCR 组件的 mgnl:lastModifiedBy 属性,因为更准确地说,我需要最后一个更改页面、组件或区域的用户。

以上是关于在木兰中获取用户名的主要内容,如果未能解决你的问题,请参考以下文章

如何在木兰中重复使用区域的示例?

各大媒体对「木兰」编程语言的不当言论盘点

如何从 Eclipse 调试木兰花模块应用程序?

请求参数如何映射到木兰的 RenderingModel 中?

完全自主研究的“木兰”编程语言造假,别再丢国人的脸了

起飞!超好用的OpenStack管理界面,开源木兰社区!