yii2项目实战-了解一下基于角色的访问控制
更新于 2016年09月09日 by 白狼 被浏览了 2406 次

从上一章节的末尾提出的问题,不难看出,基于ACF的权限虽然简单,但是每增加一个控制器,一个操作,都需要修改程序,这不仅不合理,操作起来更会让人觉得抓狂,发疯!为了让你更happy的敲代码,官方还给出了第二种基于角色的访问控制,通过这篇文章,我们先对rbac有一个基本的简单了解,后面我们为理解组件yii2-admin做一个稳固的基础,当然啦,更是为了我们强大的管理后台做的准备!

我们先来看下wiki是怎么定义这个词的:以角色为基础的访问控制(英语:Role-based access control, RBAC),是资讯安全领域中,一种较新且广为使用的访问控制机制,其不同于强制访问控制以及自由选定访问控制直接赋予使用者权限,而是将权限赋予角色。说的蛮官方的,不过说的没错,这些我们从字面的角度也能看的出来。总结概括一句话:是一种访问控制,通过用户的角色来判断用户是否被授权访问,换句话就是说我们要给角色添加权限,然后再把权限赋给用户!当然,这只是一个层面的理解,下面我们换图来帮助理解其之间的关系。

1、主体 - 权限

如果没有角色层,单纯的来看主体跟权限之间的关系,确切的说,一个权限可以分配给多个主体,一个主体又可以同时拥有多种权限。不过这不并属于我们本文所说的,仅仅做个基础层面的理解,不要误解哦~

7c3a884bc3-.png

2、主体-角色-权限

按照本文的主题,我们来对rbac做一个理解

b731cb8c60-.png

最后我们再做个文字层面的总结:

  • 一个主体可对应多个角色
  • 一个角色可对应多个主体
  • 一个角色可拥有多个权限
  • 一种权限可被分配给多个角色

作为基础,了解这么做就好了。下一章节我们来配置下yii2-admin的使用,让我们的管理平台更强大!如果有可能,后面我们会手动配置一套简单的权限管理系统,让权限神马的都不是问题!