什么是rbac ?
rbac是就是基于角色的访问控制。
yii提供一套基础的底层接口,我们知道,rbac经历好几个阶段,从rbac0到rbac3,从基础的用户、角色、权限,到动态的rbac处理模式,再到现在的权限继承,解决复杂的多页面元素权限分配。
总而言之,rbac有三个特性。
1. 基础:
角色、权限、用户 三大体系。
2. 权限继承:
角色派生原则,一个角色可以派生多个低权限角色。例如:总经理 =》经理、副经理、营运等
3. 权限分配:
权限分配必须从基础权限到高级权限,如果想拥有高级权限必须现拥有基础权限。例如:一个系统,我想拥有所有的权限。首先,我们必须现拥有查看所有菜单和子菜单的权限,然后,在拥有页面元素操作的权限,即增、删、改、查及其他。
yii提供的接口,实现了rbac的基础功能,路由的控制、页面元素和菜单的显示、隐藏等。作为合格的程序员,思想的层次有时候决定你的技术层次。因为yii提供了基础,那么我们可以在它的接口上结合具体项目需求去拓展rbac的功能。
具体如下:
我需要一个菜单表,来存储的模块,以垂直分表 的形式,实现无限极目录。
此表以三级联动,动态的添加权限、角色,记录模块的层次等级,菜单=》子菜单=》功能、页面元素。
例如:
例如:
拿到总经理的权限,在其基础上去,分配经理、副经理的角色。分配用户。
-- 每日一博
原文:https://www.cnblogs.com/hellow-world/p/9219174.html