JSF 2.2:PhaseListener只能在第一次会话请求之前运行

时间:2014-04-16 19:09:34

标签: session jsf-2.2 phaselistener

我正在开发一个在RESTORE_VIEW之前运行的PhaseListener,我需要知道它是否是第一次在当前会话中运行(这样我就可以为保持登录用户做一些自动登录)。

对我有任何暗示吗?

1 个答案:

答案 0 :(得分:0)

是的,你可以做这样的事情。我有一个相同的监听器:

@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 }
    }
}