5

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

有任何想法吗?非常感谢您!

4

1 回答 1

10

所涉及的请求在 JSP EL 中可用PageContext#getRequest()。登录用户可通过HttpServletRequest#getUserPrincipal(). 用户名反过来可由Principal#getName().

所以,

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

应该做。

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

于 2011-02-18T19:53:29.433 回答