自定義SessionManager時,sessionKey 什么時候會強轉成 WebSessionKey 實例?
if?(sessionKey?instanceof?WebSessionKey){?//?DefaultSessionKey
????request?=?((WebSessionKey)?sessionKey).getServletRequest();
????System.out.println("instanceof");
}
//?我試過,每次都沒有進來,不知道什么原因。
//?WebSessionKey?繼承?DefaultSessionKey,當我強轉時,就會拋出異常。
2018-09-08
@Bean public?DefaultWebSecurityManager?securityManager()?{?//?DefaultSecurityManager ????DefaultWebSecurityManager?securityManager?=?new?DefaultWebSecurityManager(); ????securityManager.setRealm(userRealm2()); ????securityManager.setCacheManager(ehCacheManager()); ????securityManager.setRememberMeManager(rememberMeManager()); ????securityManager.setSessionManager(sessionManager());?//?自定義Session管理 ????SecurityUtils.setSecurityManager(securityManager);?//?初始化?SecurityManager ????return?securityManager; } /*?我再最開始時,使用DefaultSecurityManager進行初始化,DefaultWebSecurityManager是其子類, ?*?我想是這個原因,我也驗證了。 ?*/