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

时间:2011-02-18 15:16:05

标签: jsp glassfish username j-security-check

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

有什么想法吗?非常感谢你提前!

1 个答案:

答案 0 :(得分:10)

所涉及的请求是由PageContext#getRequest()提供的JSP EL。登录用户可由HttpServletRequest#getUserPrincipal()使用。用户名由Principal#getName()提供。

所以,

<p>Welcome, <c:out value="${pageContext.request.userPrincipal.name}" /></p>

应该这样做。

使用<c:out>不是必需的,但对于用户名可能包含特殊HTML字符的情况很有用,这些HTML字符可能会导致HTML输出格式错误,例如<>,{{ 1}}等等(这是XSS攻击的来源)。 "只是转义它们,以便它们按字面显示,而不是被解释为HTML标记的一部分。