在阅读http://en.wikipedia.org/wiki/Role-based_access_control并了解人们如何构建授权/访问控制后,我想到一个问题“为什么在检查用户是否有权限执行X时要检查用户的角色而不是检查他们的权限?”
我的理解是,用户拥有角色,角色拥有权限,这就是用户如何获得权限的方式(用户无法显式地分配权限,它通过拥有角色来获得权限)。
我认为,在处理添加用户的请求时,检查权限(如“AddUser”)是有意义的,但是在 .Net 库以及 RBAC 的许多示例中,我们看到他们检查角色。例如,他们会检查用户是否处于管理员角色,而不是检查他/她是否拥有“AddUser”权限。
为什么?我觉得检查权限更有意义。
请问有人可以给我解释一下吗?
谢谢!
我的理解是,用户拥有角色,角色拥有权限,这就是用户如何获得权限的方式(用户无法显式地分配权限,它通过拥有角色来获得权限)。
我认为,在处理添加用户的请求时,检查权限(如“AddUser”)是有意义的,但是在 .Net 库以及 RBAC 的许多示例中,我们看到他们检查角色。例如,他们会检查用户是否处于管理员角色,而不是检查他/她是否拥有“AddUser”权限。
为什么?我觉得检查权限更有意义。
请问有人可以给我解释一下吗?
谢谢!