在JSF中实现用户登录页面的最佳方法

在JSF中实现用户登录页面的最佳方法,jsf,Jsf,在JSF1.2中实现登录页面的最佳方式是什么?若会话超时,使用将重定向到登录页面。我在网上找到了两种方法 使用PhaseListener-> 使用过滤器-> 此外,我希望用户通过一个协议页面后,登录页面的权利。用户需要点击“同意”按钮继续使用系统 有谁能告诉我哪个选项更好,或者是否有更好的方法来实现这一点 谢谢,过滤器总是更好,更适合于此 现在根据您的要求 成功登录时 -将保存用户信息的managedBean添加到会话 论条款的接受 -更新这个bean的字段 并检查其余页面的两个条件 登录

在JSF1.2中实现登录页面的最佳方式是什么?若会话超时,使用将重定向到登录页面。我在网上找到了两种方法

  • 使用PhaseListener->
  • 使用过滤器->
  • 此外,我希望用户通过一个协议页面后,登录页面的权利。用户需要点击“同意”按钮继续使用系统

    有谁能告诉我哪个选项更好,或者是否有更好的方法来实现这一点


    谢谢,

    过滤器
    总是更好,更适合于此

    现在根据您的要求

    成功登录时 -将保存用户信息的managedBean添加到会话 论条款的接受 -更新这个bean的字段

    • 并检查其余页面的两个条件
    • 登录页面上没有检查
    • 检查术语页的bean

    在JSF2中,可以使用系统事件来完成。在模板页面中放置

    < f:event type="preRenderView" listener="#{loginBean.checkLogin}"/> 
    
    在JSF1.2中实现登录页面的最佳方式是什么

    只需使用带有
    和适当的输入元素以及支持bean的JSP/Facelet页面,该bean将用户放入注入会话范围的bean中

    若会话超时,使用将重定向到登录页面。我在网上找到了两种方法

    一定要使用
    过滤器
    。对于这个简单的用例,
    PhaseListener
    有太多的开销。您对过滤/修改JSF生命周期不感兴趣,只对过滤/修改HTTP请求感兴趣

    此外,我希望用户通过一个协议页面后,登录页面的权利。用户需要点击“同意”按钮继续使用系统

    那就开发这样一个页面吧?如果遇到问题,请按右上角的
    Ask Question
    ,详细描述实际问题

    public void checkLogin(ComponentSystemEvent event) {
    // loggedIn is a boolean variable when sucessfully logged in make it true and at   logout  make it false.
    if (!loggedIn) { 
     FacesContext context = FacesContext.getCurrentInstance();
     ConfigurableNavigationHandler handler = (ConfigurableNavigationHandler)
     context.getApplication().getNavigationHandler();
     handler.performNavigation("login");
     }
    }