Как получить атрибуты входа из сервлета/jsp

В последнее время я занимаюсь внедрением безопасности для своего веб-приложения, работающего на Glassfish v3. Мне удалось сохранить некоторые ресурсы, установив базовую аутентификацию следующим образом:

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>vcards-admin</realm-name>
</login-config>

Теперь мне было интересно, как получить имя пользователя, введенное в приглашении для входа, для фактических данных пользователя. Я думал, что для получения этой части данных может быть атрибут сеанса, но я не знаю, какой он.

Я ошибаюсь в отношении атрибута сеанса? Есть ли другой способ доступа к этой информации для входа?

Спасибо заранее.

Ответы

Ответ 1

Он доступен HttpServletRequest#getUserPrincipal() или его сокращением HttpServletRequest#getRemoteUser():

String name = request.getUserPrincipal().getName();
// Or
String name = request.getRemoteUser();

Эквивалентно в JSP EL:

${pageContext.request.userPrincipal.name}
<!-- or -->
${pageContext.request.remoteUser}