博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于sf第二场直播 - 《Yii2之rbac(基于角色的权限管理)-- 思想与配置》 的总结...
阅读量:5935 次
发布时间:2019-06-19

本文共 1484 字,大约阅读时间需要 4 分钟。

昨天的直播进行了90分钟,首先感谢大家的报名,算是把yii文档中rbac的例子讲完了,同时对数据表也进行了一些分析。

可能相对于sf上的大牛们讲座,yii2直播算很小众了,毕竟php只是众多语言中的一种,而yii又是众多php框架中的一个而已,但是这不影响我们一颗执着学习的心,这个直播要一直搞下去。

之所以写这篇文章,一是对昨天直播的一个总结,让大家对rbac有一个回顾,需要注意哪些等。二来,没有二来。

什么是rbac

这是一套权限体系,在它之前有过好多种,后来一群美国人把rbac整出来一个标准,叫做INST RBAC,yii2用的就是这个。为何rbac能成为标准且现在这么多的框架都在用那?

rbac最接近人类的各种场景。

在我们的生活中,每天都在扮演不同的角色,执行不同的权限,调用不同的资源。

  • 昨天晚上我是一个讲师,我能在sf上和大家聊天,探讨技术,能使用sf的直播资源。

  • 今天醒来我是一名父亲,能安静的看着熟睡中的“小核桃”,这个角色是一辈子的。

这就是生活中的rbac,老天给了很多人很多不同的角色,让他们有条不紊的在社会上生活。

rbac是严肃的,不能跨越的,你不能做不属于你的角色,比如“小三”这种角色,你不应该走到阳光之下,否则就会天下大乱,越权角色是不被允许的。

yii的rbac

我喜欢yii,不是因为它有多高级,而是在我需要它做某个事情的时候,总是能发现它已经有了完备的功能提供给我,rbac也是一样,yii对rbac进行了很好的封装,我们使用的时候无需多关注内在。

首先你要知道对于yii的rbac,有4张表你躲不过

  • auth_item 该表存放授权条目(译者注:即角色和权限)

  • auth_item_child 该表存放授权条目的层次关系

  • auth_assignment 该表存放授权条目对用户的指派情况

  • auth_rule 该表存放规则

而rbac权限的初始化过程就是对这四张表的数据填充和关系的部署。

在使用上,yii将rbac弄成了一个组件,所以你必须在config/web.php的components中有如下配置

'authManager' => [     'class' => 'yii\rbac\DbManager',],

配置完之后使用 Yii::$app->authManager 就可以做80%的事情了,比如新建一个角色和权限,建立角色和权限之间的关系。

有一个例外,就是当你需要建立一个新规则的时候,除了 Yii::$app->authManager 你还需要新建一个继承于yiirbacRule的子类并且实例化后传递给 authManager组件才可以,这个如果不明白建议回顾下昨天直播的后半部分,sf上所有直播都可以回放和再次订购看回放。

总体来说yii的rbac很简单。

一个例子

最开始我想过很多例子,后来决定还是用官方文档中的了,但是对于很多初学者可能对这个例子以及一些提示要注意的地方,不了解为何要注意。

所以直播的后半段就是对这个例子进行了一行一行的代码重现,编写过程中进行讲解,遇到要注意的地方进行说明。

我个人比较喜欢这样的形式,有时候我们学了很多,但是仍然不会写代码,就像linux之父linus说的那句话

空谈是不值钱的。给我看你的代码就好。

无论我们在程序员的哪个阶段,代码是我们唯一的名片,直播亦然,以后的直播中也会一直延续这个思路。

最后

这是yii rbac的第一节,算入门,我们下一节将讲解一个叫做acf的东西,你可能不知道它,但是你一定见过它.

Yii2 rbac权限管理课程目录

转载地址:http://dpjtx.baihongyu.com/

你可能感兴趣的文章
jquery 怎么触发select的change事件
查看>>
angularjs指令(二)
查看>>
(原創) 如何建立一个thread? (OS) (Linux) (C/C++) (C)
查看>>
<气场>读书笔记
查看>>
实现一个平行四边形
查看>>
领域驱动设计,构建简单的新闻系统,20分钟够吗?
查看>>
web安全问题分析与防御总结
查看>>
React 组件通信之 React context
查看>>
ZooKeeper 可视化监控 zkui
查看>>
Linux下通过配置Crontab实现进程守护
查看>>
ios 打包上传Appstore 时报的错误 90101 90149
查看>>
Oracle推出轻量级Java微服务框架Helidon
查看>>
密码概述
查看>>
nagios+nrpe监控配置错误日志集
查看>>
《数据分析实战:基于EXCEL和SPSS系列工具的实践》——3.4 数据量太大了怎么办...
查看>>
JavaScript应用开发实践指南迷你书
查看>>
autoconf,automake,libtool
查看>>
jQuery的技巧01
查看>>
基于泛型实现的ibatis通用分页查询
查看>>
gopacket 使用
查看>>