我想为会话超时使用primefaces的空闲监视器。 正常工作。但重定向到我的登录页面(login.xhtml它不工作通过idlemonitor(primefaces)超时不起作用
我用这个空闲监视器在我的我的XHTML页面模板的身体: 的template.xhtml
<p:idleMonitor timeout="1800000" >
<p:ajax event="idle" listener="#{pageServiceBean.timeout()}" oncomplete="alert('Die Session ist abgelaufen.')"/>
</p:idleMonitor>
的pageServiceBean的代码是: PageServiceBean.xhtml
@ManagedBean
@SessionScoped
/**Die Page-Service Bean wird in der Fußzeile der Seite eingesetzt und beinhaltet den Zurück-Button bzw. den Logout Button*/
public class PageServiceBean implements Serializable{
/**
*
*/
private static final long serialVersionUID = 3251724422690388588L;
/**Leitet auf zur Auswahlseite zurück*/
public String cancel(){
return"/sampleForDB.xhtml";
}
/**Leitet zur Loginseite zurück*/
public String cancelSampleButton(){
return"/login.xhtml";
}
public void timeout() throws IOException {
FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
FacesContext.getCurrentInstance().getExternalContext().redirect("...login.xhtml");
}
}
我没有重定向到login.xhtml但用户ist注销。所以这些东西不再有效了。其他功能(取消和cancelSampleButton)的作品。所以他们导航到正确的页面。
我看了一下Answer in another post的答案但是这并没有解决我的问题。 在这篇文章中,这个人说要在web.xml中设置时间。但我不知道我在xhtml中写了哪些代码。 而且我不知道重定向方法中的三个点是做什么的FacesContext.getCurrentInstance().getExternalContext().redirect("...login.xhtml");
任何想法?