Architecture 作为一种实现基于角色的访问控制的方法,这有意义吗?
我一直在开发一个为用户提供基于角色的访问控制的应用程序 目前的工作方式如下:Architecture 作为一种实现基于角色的访问控制的方法,这有意义吗?,architecture,permissions,access-control,rbac,Architecture,Permissions,Access Control,Rbac,我一直在开发一个为用户提供基于角色的访问控制的应用程序 目前的工作方式如下: 指定授权规则,这些规则在代码中定义需要检查用户权限的特定检查点。此权限可以是有条件的,具体取决于用户的状态和其他变量 授权规则是多对一映射到我所称的“组”。因此,每个组可以有许多规则,但规则不能由多个组共享。我现在意识到,我的“团队”通常被称为“角色” 用户是映射到组的多对多用户。一个用户可以属于多个组,一个组可以有多个用户。用户继承其所属组的所有授权规则 用户还被分配到一个“主要组”,该组确定用户体验的其他各个方面,
这是实现RBAC和用户组的一种明智的方法,还是有我没有考虑过的奇怪的边缘情况?您应该研究现有的RBAC实现(Spring Security、Ruby中的Cancancan、PHP中的Slim…),或者基于声明的授权(.NET),或者更好的是研究基于ABAC属性的访问控制。ABAC将帮助您解决访问控制问题谢谢,是的,我基本上实现了ABAC的一种形式。然而,除了“角色”之外,我还有一个额外的难题——“组”,我正在寻找指导。您应该研究现有的RBAC实现(Spring Security、Ruby中的Cancancan、PHP中的Slim…),或者基于声明的授权(.NET),或者更好的是研究基于ABAC属性的访问控制。ABAC将帮助您解决访问控制问题谢谢,是的,我基本上实现了ABAC的一种形式。然而,除了“角色”之外,我还有一个额外的难题——“小组”,我正在寻找指导。