В JSF вы можете получить текущий Принципал, связанный с запросом и, следовательно, текущий сеанс, используя объект ExternalContext
, который можно получить из FacesContext
. Принципал, связанный с запросом, доступен из ExternalContext с использованием метода getUserPrincipal()
:
FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();
Вышеуказанный вызов может быть выполнен в управляемом компоненте JSF. Вы можете вызвать метод getName()
для объекта Principal, чтобы получить имя пользователя в виде строки.
Обратите внимание, что вы можете получить экземпляр Principal
, который ссылается на Анонимного пользователя, если вы извлекаете Принципала до аутентификации или если схема аутентификации не защищает весь сайт.