如何从 servlet/jsp 获取登录属性

2022-09-03 12:17:52

最近,我一直在努力为我的Web应用程序实现安全性,在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}

答案 2

推荐