【问题标题】:How can I get j_username on my index.jsp after successful authentication with j_security_check?使用 j_security_check 成功进行身份验证后,如何在 index.jsp 上获取 j_username?
【发布时间】:2011-06-29 21:40:21
【问题描述】:

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

有什么想法吗?非常感谢您!

【问题讨论】:

    标签: jsp glassfish j-security-check


    【解决方案1】:

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

    所以,

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

    应该这样做。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-28
      • 2018-12-28
      • 2013-02-07
      • 2012-08-09
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      相关资源
      最近更新 更多