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

我发现,休眠过滤器给你一个过滤器应用到你的对象/查询,这似乎是我在这里可以使用哪些能力。

但是,我发现了例子似乎在数据库上为中心(即说我有一个字段/列ISVISIBLE,过滤器时,它被设置为真)。有没有一种方法,我可以运行一些代码为休眠过滤器,或者是它只是一个薄薄的一层,增加了一点点WHERE子句您所有的疑问。

其实我使用这里面Grails的/格姆基础设施,因此,或许还有一些其他的解决方案是有效的。一个插件存在集成休眠过滤器,但除非我可以用它与一些代码为运行休眠过滤过程的一部分,它不会真的帮助我在这里。

有帮助吗?

解决方案

不幸的是,Hibernate的过滤器将不会解决你的问题。它们可以是非常有用的,但它是完全是一个薄层,增加了一点点WHERE子句每取

由于您使用的Grails的,你可能会发现,AOP会给你你在找什么。看看这个: http://www.infoq.com/articles/aop-与-常规

好运。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top