2012-07-17 40 views
3

我擁有帶註銷按鈕的頁面,這會使會話無效並重新登錄到登錄頁面。這很好。但是我也需要在超時後使會話無效。使用jsf和頁面重定向登出

在服務器端會話也會失效,但是當服務器無效時,頁面也應該被重定向到登錄頁面。現在,它的工作原理與meta標記:

<meta http-equiv="refresh" content="900; URL=/MyApplication-web/ibm_security_logout?logoutExitPage=/" /> 

這是說瀏覽器後15分鐘(timout)重定向到URL地址,其中註銷實際發生。

我使用JSF SessionBeans,用戶使用一個頁面拋出ajax,15分鐘後用一個頁面瀏覽器將其重定向到註銷頁面。

如何使服務器端timout註銷同步重定向到註銷頁面?

回答

1

這可以使用自定義的Servlet和Ajax輪詢來完成。每隔N秒使用ajax輪詢Servlet。在servlet中,你可以檢查http會話是否是新的(HttpSession接口中有這樣的方法),如果會話是新的,這意味着前一個(工作會話)超時。 有一個article描述使用Seam2的解決方案+實現,但是你可以將它移植到任何框架。