【发布时间】:2012-07-05 13:21:26
【问题描述】:
我正在为此查看 Spring-security 3.0,spring 的 ACL 过滤发生在 post(api call) 操作中。有两个问题:-
- 它会破坏分页查询
- 即使我在 api 获取结果上方的层上进行分页(我在这里使用 spring-hibernate),每次 db 查询都是浪费的,因为它会获取并填充所有结果,即使它们中的大多数注定要被过滤在 Java 级别输出
我已经看到解决方案,其中每个查询都附加了在数据库级别进行过滤的 acl 查询,但这看起来很难看,因为它会污染与授权有关的业务逻辑,是否有任何方法/框架可以执行 db 级别的 acl透明过滤?我喜欢 spring-securities 通过配置/注释以声明方式强制执行安全性的整体方法,从而直接将代码从安全相关逻辑中解放出来,但我认为它在性能问题上失去了这一点
【问题讨论】:
-
我仍然面临同样的困境,所以对于手头的项目,我在大多数情况下都在做#2,除了少数情况下,对于那些我没有其他选择的实体数量将非常大而不是像我提到的那样使用手写查询。
-
酷......我正在研究类似的东西,所以如果我找到了一个神奇的解决方案,我会及时通知你
-
这有什么更新吗?因为我在受 ACL 实体和分页保护时遇到了同样的问题......
-
给 Oracle 1000 万美元并使用 VPD。或者等待具有行安全性的 PostgreSQL 9.5
-
1.查看在 org.springframework.security.acls.jdbc.BasicLookupStrategy.readAclsById(List
, List ) 中调整 echcache 集成是否对您有帮助,您可以实现自己的查找策略并将其注入 acl 查找。
标签: spring-security acl