我正在阅读有关Spring Security的内容,并想知道是否可以将Spring ACL与hibernate和分页一起使用。生成的SQL肯定是可怕的,但可以自动生成。如果数据库支持possible to use hierarchical ACL,它甚至是recursive query evaluation。
使用后置过滤器不是解决方案,因为它会破坏分页,与数据库内的ACL过滤相比,这是一种不必要的开销。
所以我实际上已经有了构建解决方案的部分。我想知道是否有人已经这样做了。
链接:
答案 0 :(得分:1)
是的,您的挑战有解决方案。该字段称为动态数据屏蔽和动态数据过滤。
我们的想法是,您的应用程序和数据库之间会有代理。代理将应用过滤,以便仅将相关的授权数据返回给应用程序,从而保持分页完整。
看看:
答案 1 :(得分:1)
我处理此问题的方法首先是通过solution I gave here获取用户有权访问的ID列表。
然后,我使用此ID列表对该列表执行查询。