在使用j_security_check成功验证后,如何在index.jsp上获取j_username?

Mon*_*ica 5 jsp glassfish username j-security-check

我在login.jsp上使用j_security_check.服务器是GlassFish Server 3.一切正常,当用户通过身份验证后,它会打开index.jsp.我的问题是我需要在index.jsp中获取j_username,但我找不到这样做的方法.我找到的所有解决方案都是Java,我需要一些适合我的jsp的东西.

有任何想法吗?非常感谢你提前!

Bal*_*usC 10

所涉及的请求在JSP EL中可用PageContext#getRequest().登录用户可用HttpServletRequest#getUserPrincipal().用户名依次可用Principal#getName().

所以,

<p>Welcome, <c:out value="${pageContext.request.userPrincipal.name}" /></p>
Run Code Online (Sandbox Code Playgroud)

应该做.

使用<c:out>是顺便说没有必要,但有用的用户名可能包含这可能malform HTML输出特殊的HTML字符的情况类似<,>,"等(这是XSS攻击的来源).在<c:out>刚刚逃脱他们,使他们得到字面上显示的,而不是被解释为HTML标记的一部分.