RBAC如何控制Resource的粒度?
最近看了几篇RBAC(Role-Based Access Control)的文章,感觉还是有一点疑问,希望有过实践经验的大神可以指导一下。
在很多文章中都有提到:Permission=Operation+Resource;Operation很好理解,但是Resource的可操作范围是如何界定的呢?
举个栗子:
- 用户:若干
- 角色:局长
- 资源:局成员数据
- 操作:CRUD
现在给A机构和B机构某用户分配局长角色,局长角色CRUD资源(局成员数据),但是在给角色分配可操作资源的时候,如何去保证各个角色访问各自的资源?或者某几个特定的资源?这个暂时不能理解,感觉对一定范围的内的资源的访问依旧是基于用户的,而不可以基于角色。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几个月了,都没有人回答,╮(╯▽╰)╭
对于Permission,通常的理解是
Resource : Operation : Instance
,但是我认为其实是Resource: Operation : Domain
,这里的Domain指得是作用的范围,可能是某一个组织(Organization,Department)、某一个范围(Mine, Others')、某一个实例(Instance),每一种Domain都是一种维度,验证权限需要在验证Resource : Operation
字符串以后需要单独实现各个维度的验证,貌似目前没有什么框架来做哎。有时间再详细写一个demo,看看目前的理解是不是正确的。