我正在使用YII框架。
假设我们有:
我需要的是根据控制器组权限创建用户访问控制系统。我的意思是,让我们说,超级管理员名为john的用户可以访问所有控制器,而作为编写者角色用户的名为jessy的用户只能访问内容控制器。
我google了很多。并找到了一些关于RBAC的博客文章,其中非常复杂。关于这个有什么好的博文吗?有什么建议?
答案 0 :(得分:0)
首先,恕我直言RBAC简化了您的生活。理解或实施并不复杂。
就实现而言,我建议使用现成的扩展来管理您的RBAC树,即使它们没有错误(它们确实完成了工作 - 这是管理树。它们有UI问题,至少我我的口味)。结帐RBAM和SRBAC。
现在,对于您的主要活动,我会按如下方式组织您的权限树:
admin (role)
^
|
-- Content Editor (role) <----------------
| ^ |
| | |
| -- Create content (task) |
| -- Update content (task) -< Authenticated user (role) <--- Guest user (role)
| -- Delete content (task) | ^
| -- and so on... | |
| | -- view content (task) |
-- Category Editor (role) <---------------- -- login (task)
^
|
-- Create category (task)
-- and so on...
上面的示例RBAC树演示了 roles ,它们正如您所想象的那样,并且可以从其他角色继承,就像您在树结构和“包含”任务中所期望的那样。 这只是组织权限/授权树的一种方法。 TIMTOWTDI ...... 我也跳过详细说明“认证用户”角色的有意义的任务,但当然可能会有这样的。
还可以查看this post。