执行Shiro logout后,报如下错误: org.apache.shiro.session.UnknownSessionException: There is no session with id

来源:互联网 发布:iphone8销量数据 编辑:程序博客网 时间:2024/06/03 18:23
严重: Servlet.service() for servlet [spring] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalStateException: org.apache.shiro.session.UnknownSessionException: There is no session with id [34981e3c-f972-42dc-8cce-c760507f0a5c]] with root cause
org.apache.shiro.session.UnknownSessionException: There is no session with id [34981e3c-f972-42dc-8cce-c760507f0a5c]
at org.apache.shiro.session.mgt.eis.AbstractSessionDAO.readSession(AbstractSessionDAO.java:170)
at org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSessionFromDataSource(DefaultSessionManager.java:236)
at org.apache.shiro.session.mgt.DefaultSessionManager.retrieveSession(DefaultSessionManager.java:222)
at org.apache.shiro.session.mgt.AbstractValidatingSessionManager.doGetSession(AbstractValidatingSessionManager.java:118)
at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupSession(AbstractNativeSessionManager.java:108)
at org.apache.shiro.session.mgt.AbstractNativeSessionManager.lookupRequiredSession(AbstractNativeSessionManager.java:112)
at org.apache.shiro.session.mgt.AbstractNativeSessionManager.getAttribute(AbstractNativeSessionManager.java:209)
at org.apache.shiro.session.mgt.DelegatingSession.getAttribute(DelegatingSession.java:141)
at org.apache.shiro.session.ProxiedSession.getAttribute(ProxiedSession.java:121)
at org.apache.shiro.web.servlet.ShiroHttpSession.getAttribute(ShiroHttpSession.java:131)
at org.springframework.web.servlet.support.SessionFlashMapManager.retrieveFlashMaps(SessionFlashMapManager.java:46)
at org.springframework.web.servlet.support.AbstractFlashMapManager.retrieveAndUpdate(AbstractFlashMapManager.java:93)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:889)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


从错误信息里看是因为logout后session注销了,但是又重新读session,所以shiro会判断当前会话已经无效了,所以抛异常了。

所以请检查你销毁session之后,还有没有跟session相关的操作。

特别提醒在filter链中是否还有session在使用,如果有请技术终止filter链向后传递。



阅读全文
2 0
原创粉丝点击