Как получить атрибуты входа из сервлета/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}