天天看點

解決org.apache.shiro.session.UnknownSessionException: There is no session with id的問題

  最近在整合了Spring+Shiro+Redis實作tomcat叢集session共享的問題之後,釋出以後運作以後發現老是會出現:org.apache.shiro.session.UnknownSessionException: There is no session with id [xxxx]的問題,具體問題如下截圖:

解決org.apache.shiro.session.UnknownSessionException: There is no session with id的問題

  隻是以出現這個問題是因為在shiro的DefaultWebSessionManager類中,預設Cookie名稱是JSESSIONID,這樣的話與servlet容器名沖突, 如jetty, tomcat等預設JSESSIONID, 當跳出shiro servlet時如error-page容器會為JSESSIONID重新配置設定值導緻登入會話丢失!

  明白了出現這個問題的原因,就好辦了,我們隻需要自己指定一個與項目運作容器不沖突的sessionID就好了,具體如下,在spring-shiro.xml中進行如下配置:

繼續閱讀