最后遇到通过shiro取登录用户信息,报session already invalidated异常的问题,调用代码如下:
final Subject subject = SecurityUtils.getSubject();
if (subject != null && subject.isAuthenticated()) {
final Session session = subject.getSession();
try {
return (User) session.getAttribute("user");
} catch (final Exception e) {
}
}
百思不得其解,后来发现只有在多线程里面的代码调用时才会出错,在主线程里面没有问题,而多线程里面也不是一定出现异常,不过最好是避免在多线程里面调用,不然不能保证不出问题。