基于表单的登录 Java Web 应用程序



我正在尝试对Web应用程序执行基于表单的登录。我正在使用JSF和JBoss v7.1.1。我已按照网页上的说明进行操作http://docs.oracle.com/javaee/6/tutorial/doc/bncbx.html#bncby

这是我的登录页面:

登录以访问安全页面:

    <h:panelGrid columns="2">
        <h:outputLabel value="Username: " />
        <input type="text" id="j_username" name="j_username" />
        <h:outputLabel value="Password: " />
        <input type="password" id="j_password" name="j_password" />
        <h:outputText value="" />
        <h:panelGrid columns="1">
            <input type="submit" name="submit" value="Login" />
        </h:panelGrid>
    </h:panelGrid>
    <br />
</form>

我已经设法执行了身份验证,但是,当用户被重定向到受限资源时,我需要知道用户使用的登录数据(例如用于成功执行登录的用户名)。有谁知道如何访问此信息?我想在JSF页面的ManagedBean类中使用它。谢谢!

远程用户位于 JSF Bean 中,ExternalContext#getRemoteUser() 可用。

String remoteUser = FacesContext.getCurrentInstance().getExternalContext().getRemoteUser();
 // ...

这是在从HttpServletRequest#getRemoteUser()获得的掩护下,因此这也意味着它在JSF视图中可用,如下所示:

<p>You're logged in as #{request.remoteUser}.</p>

或者,更详细:

<p>You're logged in as #{facesContext.externalContext.remoteUser}.</p>

相关内容

  • 没有找到相关文章

最新更新