我正在寻找应用程序服务层中最好的授权服务体系结构,以提供服务中的常见授权检查。
理想情况下,它可能应该是单一服务,授权用户对所有聚合进行操作。例如浏览列表,读取/编辑项目,读取/编辑拥有的项目等。
我正在考虑为每个议程授权adaper的服务,在存储库中按方法阅读解决方案,但是我觉得自己正在重新发明轮子。 :-)
您有什么想法或好的阅读/资料来源吗?
答案 0 :(得分:1)
您正在寻找的是外部动态授权,也称为基于属性的访问控制(ABAC)。在ABAC中,有一个体系结构定义了一个通用授权服务,您可以查询该服务以基于策略(通常用alfa编写)和诸如用户角色,权限,数据之类的属性来获取授权决策(Permit / Deny)。敏感性等...
国家标准与技术研究院(NIST),即国家标准与技术研究院(ABAC)有一篇很好的文章:https://csrc.nist.gov/publications/detail/sp/800-162/final
答案 1 :(得分:0)
您可以查看Keycloak,这是一种用于身份和访问管理的开源工具:
https://www.keycloak.org/docs/latest/authorization_services/index.html