0

ServletContainerSessionManagerではありませんValidatingSessionManager。孤立したクリーンアップを処理するために、基になるコンテナーに任せますか? それは正しくないようです。

DefaultWebSessionManagerフル機能の実装であるため、に切り替えてもリスクや欠点はないと思いますか? このモジュールのデフォルトではない理由はありますか?

4

1 に答える 1

1

ServletContainerSessionManager実際、セッションに関連するすべての機能はコンテナーに従います。 ShiroWebModuleこれはDefaultWebSecurityManager、基本的な ini セットアップ、Spring、または Guice を使用しているかどうかに関係なく、デフォルトを同じに保つことを意図していたためです。

そうは言っても、Shiro 内でセッションを管理する必要がある場合は、に切り替えない理由はありませんDefaultWebSessionManagerbindSessionManager確かに、それがメソッドが存在する理由です。

切り替えるには、単純にオーバーライドしますbindSessionManager:

@Override
protected void bindSessionManager(AnnotatedBindingBuilder<SessionManager> bind) {
    bind.to(DefaultWebSessionManager.class).asEagerSingleton();
}
于 2012-10-12T22:50:03.793 に答える