0
在Spring MVC中,如果用戶長時間未處於活動狀態,則默認情況下會註銷,因爲會話超時。Spring:在默認註銷事件上觸發一些方法
如果用戶登錄並且瀏覽器關閉,那麼他也是註銷。
我已經實施SimpleUrlLogoutSuccessHandler
來捕獲註銷成功。但只有當用戶手動點擊註銷鏈接時纔會觸發。
默認情況下(例如,在窗口關閉時),如何在登錄會話過期或用戶註銷時觸發某種方法?
在Spring MVC中,如果用戶長時間未處於活動狀態,則默認情況下會註銷,因爲會話超時。Spring:在默認註銷事件上觸發一些方法
如果用戶登錄並且瀏覽器關閉,那麼他也是註銷。
我已經實施SimpleUrlLogoutSuccessHandler
來捕獲註銷成功。但只有當用戶手動點擊註銷鏈接時纔會觸發。
默認情況下(例如,在窗口關閉時),如何在登錄會話過期或用戶註銷時觸發某種方法?
您可以在會話中使用HttpSessionListener過期。
public class MySessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) { }
public void sessionDestroyed(HttpSessionEvent se) {
HttpSession session = se.getSession();
SecurityContext securityContext = (SecurityContext)session.getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY);
// check for null, retrieve Authentication etc
}
}
不要忘記在啓動時註冊監聽器。
很難趕上窗口關閉,但會話將及時到期。
它會被註銷嗎? – manish
@Manish可能取決於配置。 – holmis83
你說什麼樣的配置。 – manish