Apache Shiro - 退出时记住我的cookie吗?

时间:2014-02-11 20:09:57

标签: apache shiro remember-me

我正在帮助维护一个使用Apache Shiro的应用程序。

我们希望我们的用户能够注销,但保留他们的“记住我”cookie,但显然Shiro不支持此功能(滚动到页面底部):

https://shiro.apache.org/java-authentication-guide.html

  

当您在Shiro中注销时,它将关闭用户会话和   从主题实例中删除任何关联的标识。如果你是   在Web环境中使用RememberMe,然后.logout()将通过   默认情况下,也从浏览器中删除RememberMe cookie。

实现这一目标的最佳方式是什么?

2 个答案:

答案 0 :(得分:0)

你可以:

  1. 复制RememberMe Cookie。
  2. 执行退出。
  3. 然后将其复制回原位。
  4. 从未使用过Apache Shiro,因此我不确定它是如何工作的,或者它是否会实现您想要完成的任务。

答案 1 :(得分:0)

事实证明,这可以通过使用自定义安全管理器来完成:

public class CustomSecurityManager extends DefaultWebSecurityManager {
    @Override
    protected void beforeLogout(Subject subject)
    {
        super.removeRequestIdentity(subject);
    }    
}