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();
}