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

mde*_*lmo 14 java servlets basic-authentication

最近,我一直致力于为我的Web应用程序实现安全性,在Glassfish v3上运行.我通过设置如下基本身份验证成功地设法保护了一些资源:

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>vcards-admin</realm-name>
</login-config>
Run Code Online (Sandbox Code Playgroud)

现在我想知道如何在登录提示符上引入用户名来定义用户的实际数据.我认为可能有一个会话属性来获取该数据,但我不知道它是哪一个.

我对会话属性有误吗?有没有其他方法来访问该登录信息?

提前致谢.

Bal*_*usC 28

它可以通过HttpServletRequest#getUserPrincipal()或简写HttpServletRequest#getRemoteUser():

String name = request.getUserPrincipal().getName();
// Or
String name = request.getRemoteUser();
Run Code Online (Sandbox Code Playgroud)

在JSP EL中等效:

${pageContext.request.userPrincipal.name}
<!-- or -->
${pageContext.request.remoteUser}
Run Code Online (Sandbox Code Playgroud)