2011-11-16 54 views
1

我使用Spring AOP,使系統日誌, 我的AOP的切入點是這樣的:使用連接點來跟蹤用戶註銷

<aop:pointcut expression="execution(* a.b.*.service.impl.*.*(..)) or (execution  
(* a.core.service.impl.*.*(..)))" id="allMethod"/> 

問題是,它只是在跟蹤功能service.impl,當然,如果我改變切入點,它可以跟蹤任何服務,或者動作或者道,但是用戶的註銷,這個項目使用Spring Security,比如「./j_logout」, 不在任何動作,服務,dao,所以我可以't切入它, 有沒有辦法切割Spring安全,所以我可以告訴哪個用戶註銷? 沒有任何其他解決方案Spring Security也沒有問題。 PS:英語不是我的第一語言,我是否讓自己清楚?

回答

3

您可以擴展SimpleUrlLogoutSuccessHandler並覆蓋onLogoutSuccess(),然後配置您的過濾器

<security:logout success-handler-ref="myCustomLogoutSuccessHandler"/> 

不要忘了重定向到手動登錄頁面。

查看任何幫助文檔。

+0

我不是很明白,你能更具體嗎?非常感謝。 – user1021531

+0

只是擴展SimpleUrlLogoutSuccessHandler函數onLogoutSuccess()負責登錄頁面重定向。所以如果你重寫這個函數,你可以在裏面做任何你想要的。 –