2011-08-12 28 views
2

實施超時頁面,我需要一些幫助處理在一個Grails應用程序超時。如何Grails的

語境:在我的Grails應用程序我正在顯示的敏感信息。顯然,這意味着有人不能保持登錄狀態,如果他們忘記註銷,我需要將其註銷。我現在已經實行的是這樣一個系統:

- 當人成功登錄,會話變量的isValid設置爲true。

- 在我的所有控制器如果被調用,可以渲染或重定向到一個GSP的方法,我檢查值。如果在任何時候isValid爲空,它們會立即重定向到錯誤頁面。

- 每個gsp都有一個jquery超時函數,如果用戶超時並將isValid設置爲false(理論上應該阻止他們使用該應用程序),它會將用戶重定向到超時錯誤頁面。

的重定向所有工作的罰款。我遇到的問題是,當用戶超時時,他們仍然可以使用後退按鈕返回到最後一頁的緩存版本。顯然,這會超過超時的目的。

問題:有誰知道我可以阻止用戶離開,一旦超時他們將永遠被重定向到超時頁面超時頁面或保證?

感謝

回答

1

的重定向所有工作的罰款。我遇到的問題是,當用戶超時時,他們仍然可以使用後退按鈕返回到最後一頁的緩存版本。顯然,這會超過超時的目的。

爲什麼不重新添加一個AJAX請求網頁加載您的應用程序(其中,當用戶按下瀏覽器的後退按鈕應該被解僱),用於驗證會話仍然有效,如果沒有用戶的重定向超時頁面?應該很簡單。

而且,如果信息是敏感確保您設置緩存/內容過期有關HTTP頭,讓瀏覽器知道它不應該緩存網頁。這裏的缺點是一些瀏覽器不完全尊重這些設置。