【问题标题】:Shiro Logout page: "There is no session with id" - ShiroShiro 注销页面:“没有带有 id 的会话” - Shiro
【发布时间】:2021-07-14 21:56:54
【问题描述】:

我想从我的 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 omnifaces


    【解决方案1】:

    Shiro 的 Subject.logout() 基本上清除了会话 (session.invalidate())。如果会话已经被清除,您将无法再次清除它。

    如果您使用的是Shiro's Logout Filter,则无需再拨打logout()

    【讨论】:

      猜你喜欢
      • 2014-08-01
      • 2013-01-09
      • 2022-01-24
      • 2012-10-22
      • 2013-06-01
      • 2018-06-02
      • 2018-12-20
      • 1970-01-01
      • 2014-10-31
      相关资源
      最近更新 更多