Получить имя пользователя в магнолии - PullRequest
1 голос
/ 19 февраля 2020

Я использую следующую команду для получения имени пользователя в пользовательском классе магнолии: String userName = MgnlContext.getInstance().getJCRSession("website").getUserID(); Вместо получения имени пользователя, вошедшего в систему в магнолии при запуске команды, я получаю admin для значения. Как я могу получить настоящее имя пользователя - того, кто подписался на магнолию?

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

На самом деле, чтобы получить текущего пользователя, вам нужно либо ввести MgnlContext, либо получить его через MgnlContext.getInstance() вызов.
Как только у вас появится контекст, вы вызываете ctx.getUser().getName(), чтобы получить имя текущего пользователя.

1 голос
/ 19 февраля 2020

Вы можете внедрить info.magnolia.cms.security.SecuritySupport в свой класс и использовать

info.magnolia.cms.security.SecuritySupport#getUserManager(), после чего вы получаете множество полезных методов, которые можно выбрать для всех пользователей или пользователей по группе et c.

...