ServletContainerSessionManager
ではありませんValidatingSessionManager
。孤立したクリーンアップを処理するために、基になるコンテナーに任せますか? それは正しくないようです。
DefaultWebSessionManager
フル機能の実装であるため、に切り替えてもリスクや欠点はないと思いますか? このモジュールのデフォルトではない理由はありますか?
ServletContainerSessionManager
実際、セッションに関連するすべての機能はコンテナーに従います。 ShiroWebModule
これはDefaultWebSecurityManager
、基本的な ini セットアップ、Spring、または Guice を使用しているかどうかに関係なく、デフォルトを同じに保つことを意図していたためです。
そうは言っても、Shiro 内でセッションを管理する必要がある場合は、に切り替えない理由はありませんDefaultWebSessionManager
。bindSessionManager
確かに、それがメソッドが存在する理由です。
切り替えるには、単純にオーバーライドしますbindSessionManager
:
@Override
protected void bindSessionManager(AnnotatedBindingBuilder<SessionManager> bind) {
bind.to(DefaultWebSessionManager.class).asEagerSingleton();
}