Session JSF 2.2:PhaseListener只能在会话的第一次请求之前运行
我正在使用一个在RESTORE_视图之前运行的PhaseListener,我需要知道它是否在当前会话中第一次运行(这样我就可以为保持登录的用户进行一些自动登录)Session JSF 2.2:PhaseListener只能在会话的第一次请求之前运行,session,jsf-2.2,phaselistener,Session,Jsf 2.2,Phaselistener,我正在使用一个在RESTORE_视图之前运行的PhaseListener,我需要知道它是否在当前会话中第一次运行(这样我就可以为保持登录的用户进行一些自动登录) 有什么提示吗?是的,你可以做这样的事。我有一个相同的相位侦听器: @Override public PhaseId getPhaseId() { return PhaseId.RESTORE_VIEW; } @Override public void beforePhase(PhaseEvent event) { Fa
有什么提示吗?是的,你可以做这样的事。我有一个相同的相位侦听器:
@Override
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
@Override
public void beforePhase(PhaseEvent event) {
FacesContext ctx = FacesContext.getCurrentInstance();
if (!ctx.isPostback()) {
authRet = // check for active session
if (!authRet) {
if (...)// check for cookies { //create auth}
else { // redirect to login }
}
}
我正在创造一个无限循环:!发回利兹到重定向,这是再次!发回什么利兹重定向什么是再次!发回。。。那么你是如何得到authRet的呢?比如检查会话中是否有有效用户?好的,就是这样。我的情况现在看起来像是(!ctx.potsback()&&loginController!=null&&loginController.getCurrentUser()!=null)…我通常检查请求url是否是此类问题的登录url。如果这个答案对你有用,请接受它为正确答案。非常感谢。谢谢!是的,是的!