【问题标题】:Why does ShiroWebModule default to a non-validating SessionManager?为什么 ShiroWebModule 默认为非验证 SessionManager?
【发布时间】:2012-10-03 17:38:03
【问题描述】:

ServletContainerSessionManager 不是ValidatingSessionManager;它是否遵循底层容器来处理孤儿清理?这似乎不对。

我假设切换到DefaultWebSessionManager,因为它是一个功能齐全的实现,不会有任何风险或缺点? 有什么原因不是这个模块的默认值吗?

【问题讨论】:

    标签: java jersey guice shiro


    【解决方案1】:

    ServletContainerSessionManager 确实遵循容器的所有会话相关功能。 ShiroWebModule 默认是这个,因为这是 DefaultWebSecurityManager 中已经预期的默认值 - 无论您使用基本的 ini 设置、spring 还是 guice,目的都是保持默认值相同。

    话虽如此,如果您需要在 Shiro 中管理会话,没有理由不切换到 DefaultWebSessionManager。确实,这就是 bindSessionManager 方法存在的原因。

    要切换,只需覆盖bindSessionManager

    @Override
    protected void bindSessionManager(AnnotatedBindingBuilder<SessionManager> bind) {
        bind.to(DefaultWebSessionManager.class).asEagerSingleton();
    }
    

    【讨论】:

    • 感谢您确认我的怀疑。我已经进行了转换,没有看到任何倒退,但只是想确定一下。
    猜你喜欢
    • 1970-01-01
    • 2013-05-31
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2016-05-13
    相关资源
    最近更新 更多