将 Spring 安全 ACL 与 spring-data-mongodb 一起使用
Posted
技术标签:
【中文标题】将 Spring 安全 ACL 与 spring-data-mongodb 一起使用【英文标题】:Using Spring security ACLs with spring-data-mongodb 【发布时间】:2017-11-07 04:23:57 【问题描述】:spring-security-acl 文档声明如下:
Please note that our out-of-the-box AclService and related database classes all use ANSI SQ
由于我们的域类使用 spring-data-mongo 存储在 mongodb 中,我们正在研究在 spring-data-mongodb 之上实现访问控制列表的方法。
据我了解,默认的 spring 安全 ACL 实现依赖于 SQL 数据库中引用表和现有表的对象 ID 的附加表。然后框架挂钩 SQL 查询并更改它们以加入 ACL 表,将结果集限制为当前经过身份验证的用户。
鉴于几乎没有关于如何在 mongodb 数据库上应用相同概念的资源(this repo 除外)——我想知道 ACL 概念是否可以以合理的性能映射到一个禁止—— sql数据库。
为 spring-data-mongodb 编写 ACL 实现是否需要一些努力,还没有资源,或者是否有其他影响,例如性能,这不会让 ACL 概念正确映射到mongodb?
【问题讨论】:
也有兴趣,有什么发现吗? 您可能想订阅这个春季安全问题:github.com/spring-projects/spring-security/issues/4484。 【参考方案1】:检查this repository,它为 MongoDB 实现了 ACL,它与 Spring 4 兼容,并且有一个 PR 使其与 Spring 5 兼容。
【讨论】:
以上是关于将 Spring 安全 ACL 与 spring-data-mongodb 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security 4 ACL - 用户创建和数据库配置
Spring cloud微服务安全实战-4-7重构代码以适应真实环境