我正在尝试在一个网站上实现RBAC(基于角色的访问控制)。
问题是嵌套对象的权限。
假设我们在网站上有一些项目。每个用户在每个项目中都可以有一个角色。例如,user1在project1中具有admin角色,在Project2中具有customer角色。
例如,admin角色包含一些权限,如添加子项目、删除子项目等。
我读过的关于RBAC的所有文档都定义了一般的权限,如添加子项目,但当用户具有此权限时,它可以为所有项目添加子项目,而不是特定的项目(这里是project1)。
我如何将此权限限制为特定的项目?
一个糟糕的解决方案是为每个项目定义新的权限。因此权限将是Add subproject to project1,Delete subproject from project1等,并定义相应的角色,如project1 Admin。
但我对这种冗余感觉不太好;而项目本身可以动态地添加/删除。
免责声明:我是RBAC初学者
我对RBAC的理解是,您拥有结合实际资源和操作的权限。在您的示例中:资源将是“project1”,操作将是“create_subproject”,因此权限将称为“project1.create_subproject”,这表明您对每个资源有一个权限,因此出现了提到的冗余。
对于你的问题,我的建议是引入一个资源集团(ResourceGroup)。但这不是NIST RBAC标准的一部分。ResourceGroup将组合公共类型的资源。访问检查将检查ResourceGroup中的所有对象,如果它找到您的特定资源,则可以评估允许的操作
Kubernetes 从 1.6 开始支持基于角色的访问控制机制(Role-Based Access,RBAC),集群管理员可以对用户或服务账号的角色进行更精确的资源访问控制。在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角
根据RBAC 模型的定义,我在数据库中建了有下面五个表: 用户表,用户-角色关联表,角色表,角色-权限关联表,权限表 现在我已经写好了对应的拦截器,并且在拦截器中通过token获取到用户,再通过这几张表获取到当前用户所拥有的权限列表了, 但是这个权限列表是怎么用的? 就比如 : 我知道前端项目需要做动态路由的时候会需要后端帮忙存储一个 路由表,一个 角色-路由关联表 ,是不涉及到权限表的,或者说这
我使用嵌套集模型处理对象的层次结构。我想为单个对象上的CRUD操作设置权限。作为管理访问权限的系统,我使用PHP RBAC。我怎样才能解决这个问题? 经过对问题的一些分析,我决定为对象上的每个CRUD操作创建四个权限树并单独获取每个权限是可能的,但我认为这不是最好的解决方案。 作为替代方案,我考虑使用一个premissions树,其中的节点对应于操作“read”,每个节点都有子元素“create”
主要内容:1.权限模型,2.权限系统表设计1.权限模型 1.1 权限设计 从业务分类上来讲权限可以分为,等, 对应到系统设计中有页面权限、菜单权限、按钮权限等。菜单也分一级菜单、二级菜单甚至三级菜单. 按照这个架构,按钮的父级是二级菜单,二级菜单的父级是一级菜单,这样用户申请权限的时候非常清晰的看到自己需要哪些权限。 1.2 为什么需要角色 这种模型能够满足权限的基本分配能力,但是随着用户数量的增长,这种模型的弊端就凸显出来了,每一个用户
这是我第一次使用Yii2的RBAC系统。我曾经http://www.yiiframework.com/doc-2.0/guide-security-authorization.html让自己熟悉这个话题。由于我需要对角色/权限进行某种管理,我安装了以下扩展:https://github.com/mdmsoft/yii2-admin 我正在开发一个让用户提交文章的应用程序。有两种用户,管理员和普通用
业务场景: 同一个登陆页面,管理员和普通用户有不同的用户名和登录密码。登陆之后需要进入不同的home页面,以此类推,导航栏也完全不同。所有UI和功能都不同。也就是说同一套代码,登陆的之后却是不同的网络应用。 问题: 这种设计在开发中会不会有什么不便的地方。比如:这一个代码库跑在localhost:3000上面,那么存储的token也在这个3000 localStorage下面,如果我想要同时开发“