Свойства CacheManager были установлены - Apache Shiro - PullRequest
7 голосов
/ 06 января 2012

Как настроить свойства cacheManager при использовании Apache shiro.При отладке я получаю INFO, например:

80104 [1045903843@qtp-967078155-3] INFO org.apache.shiro.realm.AuthorizingRealm - No cache or cacheManager properties have been set.  Authorization cache cannot be obtained.

Я использую JSF2 и Google Cloud SQL.

Ответы [ 2 ]

4 голосов
/ 06 января 2012

При использовании INI-конфигурации Широ вы устанавливаете свойство cacheManager SecurityManager, как и любое другое свойство компонента.Например:

[main]

cacheManager = com.something.impl.SomeCacheManager
# config cacheManager as necessary, e.g.
# cacheManager.foo = bar

securityManager.cacheManager = $cacheManager

Вы можете использовать готовый EhCacheManager или самостоятельно реализовать интерфейсы CacheManager и Cache для использования собственного хранилища резервных копий кэша (например, Memcache, Coherence, GigaSpacesлюбое современное хранилище ключей / значений NoSQL и т. д.)

1 голос
/ 10 августа 2012

Кажется, что EhCacheManager не является частью shiro-core 1.2.1 (в любом случае, в пакете Maven). Я решил проблему, добавив следующее в мой [основной] раздел в shiro.ini:

[main]
builtInCacheManager = org.apache.shiro.cache.MemoryConstrainedCacheManager
securityManager.cacheManager = $builtInCacheManager
...