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