【问题标题】:Run code in Hibernate Filters在 Hibernate 过滤器中运行代码
【发布时间】:2010-12-12 09:25:12
【问题描述】:

我有一个相当复杂的安全机制,我使用 Apache Shiro(以前称为 JSecurity)实现了它。为了知道对象的确切可见性规则,我需要运行一些代码(即查找用户的角色、权限、组等)。我想运行查询来告诉我当前用户有权查看的对象。

我发现休眠过滤器使您能够将过滤器应用于您的对象/查询,这似乎是我可以在这里使用的。

但是,我发现的示例似乎以数据库为中心(即假设我有一个字段/列 isVisible,只要它设置为 true 就进行过滤)。有没有办法我可以运行一些代码作为休眠过滤器,或者它只是一个薄层,为你的所有查询添加一个小 WHERE 子句。

我实际上是在 Grails / GORM 基础架构中使用它,所以也许还有其他一些有效的解决方案。一个集成了休眠过滤器的plugin exists,但除非我可以将它与一些代码一起用作休眠过滤过程的一部分,否则它对我没有帮助。

【问题讨论】:

    标签: hibernate grails filter shiro jsecurity


    【解决方案1】:

    很遗憾,Hibernate 过滤器无法解决您的问题。它们可能非常有用,但它只是一个薄层,为每次提取添加了一点 WHERE 子句。

    由于您使用的是 Grails,您可能会发现 AOP 会为您提供所需的内容。看看这个:http://www.infoq.com/articles/aop-with-groovy

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2012-09-30
      • 2014-11-08
      • 1970-01-01
      • 2019-09-20
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      • 2013-04-04
      • 2015-02-01
      相关资源
      最近更新 更多