如何在grails shiro中使用缓存权限
每次我调用 subject.isPermission() 时,它都会向数据库发送一条 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 名称是什么?我还需要配置其他东西吗?
Everytime i call subject.isPermitted()
, it sends a sql to db.
How can i cache it? Any example? Thanks.
I read the doc of shiro grails plugin, but cant solove it.
DataSource:
hibernate {
cache.use_second_level_cache = true
cache.use_query_cache = true
cache.provider_class = 'net.sf.ehcache.hibernate.EhCacheProvider'
}
How to set the cachemanager to shiro? I try spring.resource,throw an error.
What's the instance bean name of cachemanager? Do i need to config sth else?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在 Shiro 的 SecurityManager 上配置 org.apache.shiro.cache.CacheManager 实例。大多数 Shiro 开箱即用的 Realm 实现都知道如何使用已配置的 CacheManager,并将自动缓存从 Realm 权限查找返回的 AuthorizationInfo。
我不知道如何使用 Grails Shiro 插件来做到这一点,但是在 Shiro 的 INI 中,您可以这样做:
我建议询问 grails-user 邮件列表,看看是否有更“grailsy”的方法为 Grails Shiro 插件配置此项。
HTH,
莱斯
You'll need to configure an org.apache.shiro.cache.CacheManager instance on Shiro's SecurityManager. Most of Shiro's out-of-the-box Realm implementations know how to work with a configured CacheManager and will cache AuthorizationInfo returned from a Realm permission lookup automatically.
I'm not sure how to do this using the Grails Shiro plugin, but in Shiro's INI, you would do that this way:
I'd recommend asking the grails-user mailing list to see if there is a more 'grailsy' way to configure this for the Grails Shiro plugin.
HTH,
Les