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