每当我调用subject.isPermitted()
时,它都会向db发送一个sql
我该如何缓存它?任何例子?感谢。
我阅读了shiro grails插件的文档,但无法解决它。
的DataSource:
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
如何将cachemanager设置为shiro?我尝试spring.resource,抛出一个错误。
cachemanager的实例bean名称是什么?我需要配置其他吗?
答案 0 :(得分:2)
您需要在Shiro的SecurityManager上配置org.apache.shiro.cache.CacheManager实例。 Shiro的大多数开箱即用的Realm实现都知道如何使用已配置的CacheManager,并将自动缓存从Realm权限查找返回的AuthorizationInfo。
我不确定如何使用Grails Shiro插件执行此操作,但在Shiro的INI中,您可以这样做:
[main]
...
cacheManager = com.my.implementation.of.CacheManager
securityManager.cacheManager = $cacheManager
...
我建议询问grails-user邮件列表,看看是否有一种更为“粗俗”的方法来为Grails Shiro插件配置它。
HTH,
莱斯