apache shiro org.apache.shiro.session.UnknownSessionException处理

/**
* 通过debug,F5一步步高度下去发现,
*
* 1.session过期时间太短,导致session过期找不到session报错,
* 这里org.apache.shiro.web.session.mgt.DefaultWebSessionManager设置session时间
* globalSessionTimeout时间太短 这个单位是毫秒,建议设置长点时间
* 2.时间修改长后,还是报错,但是可以执行  SecurityUtils.getSubject().logout();程序执行到return "index";报错

* logout可以安全正确退出,session也可以删除,授权信息,认证信息也会被清除(debug进去可以看到的)

* 但是如果直接return就会报错,如
* org.apache.shiro.session.UnknownSessionException: There is no session with id
* debug进去发现,直接return程序还是会查找你刚才logout的sessionId,因为logout了,当然是找不到session了,理所当然报错
* 使用redirect就好了,
*
*/

posted on 2013-04-14 22:25  游鱼  阅读(10604)  评论(1编辑  收藏  举报