Tomcat で Apache Shiro を使用しており、EhCache による承認のキャッシュを有効にしたいと考えています。
私が行ったことは、shiro.ini に次の 2 行を追加することです。
cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager securityManager.cacheManager = $cacheManager
ehcache-core-2.5.1.jar を WEB-INF/lib ディレクトリにコピーしました。承認のために、MySQL データベースからパーミッションを読み取るカスタム Realm を実装しました。そのため、データベースへのクエリを可能な限り削減するためにキャッシュを有効にしたいと考えています。
Shiro のドキュメントを正しく理解していれば、上記でキャッシュを有効にするのに十分ですが、私はそれを見ていません:(
Tomcat は例外なく起動し、テスト JSP では認証を使用していますが、最初は問題なく動作します。データベースのパーミッションを変更すると、テスト JSP が変更をすぐに認識することがわかります。テスト JSP がキャッシュから値を返すことを期待していました...何が問題なのか教えていただけますか? また、EhCache が実際に呼び出されているかどうか、およびその動作を確認する方法はありますか (ログを有効にする必要がある場合は、詳しくないので詳細な情報を教えていただければ幸いです)。
更新:行を追加したことにも言及する必要があります
System.out.println("キャッシュは有効です" + isCachingEnabled() );
私のカスタムレルムの初期化で、私は真実になります!
ティア、
セラフェイム