2010-02-09 116 views
0

我已經部分地實現使用Grails的過濾器和要求我修改web.xml會話監聽器的解決方案。會話監聽器告訴我,當會話已經結束,Grails的過濾器告訴我,當任何控制器已被稱爲首次與已認證用戶。捕捉登錄/註銷及登錄嘗試使用Grails和Acegi的插件

這在我看來,無論是必需的,因爲無論是Grails的或Acegi的插件會自動創建一個新的會話,所以我需要Grails的篩選,以確定何時會實際上有一個身份驗證的用戶。

我要說的是這樣說的,有沒有不需要過濾器和sessionListener一個更簡單的方法。只是想清理代碼,所以當我需要回來時它仍然有意義

回答

2

事件在登錄時被觸發,所以這是跟蹤登錄的最佳選擇 - 會話創建通常會早於登錄if用戶在登錄之前瀏覽網站一段時間。請參閱此頁面,討論關於處理程序:http://grails.org/AcegiSecurity+Plugin+-+Acegi+Events

註銷更棘手,因爲用戶可能會顯式地單擊註銷鏈接,或者他們可能會關閉瀏覽器。如果他們關閉瀏覽器的會話將超時,但是那將是他們的最後一次點擊後30分鐘(除非你已經改變了默認值)。

如果您想要顯式註銷,請在「註銷處理程序」部分註冊一個LogoutHandler,如http://grails.org/AcegiSecurity+Plugin+-+Customizing+with+SecurityConfig中所述。

+0

再次感謝,我想我應該已經閱讀所有的插件文件! –