如何解决Shiro 登出页面:“没有带有 id 的会话” - Shiro
我想从我的 p:commandButton 正常注销:
我的后端 bean 中有这个函数:
public void logout() {
SecurityUtils.getSubject().logout();
SavedRequest savedRequest = WebUtils.getAndClearSavedRequest(Faces.getRequest());
if (savedRequest == null) {
Faces.redirect("/common/login.jsf");
} else {
Faces.redirect(savedRequest.getRequestUrl());
}
}
但我明白了:
引起:org.apache.shiro.session.UnkNownSessionException:没有ID为[b4a41562-0d9e-4fc9-9d9d-ef7724d8efad]的会话
知道如何解决这个问题吗? 我也在使用 Omnifaces 库。
知道出了什么问题吗?
我正在使用: Shiro 1.7.0 和 Omnifaces 3.10.1
解决方法
Shiro 的 Subject.logout()
实质上清除了会话 (session.invalidate()
)。如果会话已被清除,您将无法再次清除它。
如果您使用的是 Shiro's Logout Filter,则无需额外调用 logout()
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。