Как использовать разрешения кеша в Grails Shiro - PullRequest
4 голосов
/ 13 декабря 2010

Каждый раз, когда я звоню subject.isPermitted(), он отправляет sql в дБ.
Как я могу его кешировать?Любой пример?Спасибо.


Я прочитал документ о плагине shiro grails, но не могу его решить.

DataSource:

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}

Как установить кешинагер на shiro?Я пробую spring.resource, выкидываю ошибку.

Какое имя экземпляра bean-компонента cachemanager?Мне нужно настроить что-то еще?

1 Ответ

2 голосов
/ 13 декабря 2010

Вам необходимо настроить экземпляр org.apache.shiro.cache.CacheManager в SecurityManager Широ. Большинство из готовых реализаций Shiro Realm знают, как работать с настроенным CacheManager, и будут автоматически кэшировать AuthorizationInfo, возвращенный из поиска разрешений Realm.

Я не уверен, как это сделать с помощью плагина Grails Shiro, но в INI Широ вы бы сделали это следующим образом:

[main]
...
cacheManager = com.my.implementation.of.CacheManager
securityManager.cacheManager = $cacheManager
...

Я бы порекомендовал спросить список рассылки пользователя grails, чтобы узнать, есть ли более «grailsy» способ настроить это для плагина Grails Shiro.

НТН,

Les

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...