在木兰中获取用户名

Get username in magnolia

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

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

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

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