ThinkPHP中RBAC权限管理的简单应用

  RBAC英文全称(Role-Based Access Controller)即基于角色的权限访问控制,简单来讲,一个用户可以拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。相比于传统权限管理方式(如早期的ecshop,是将权限与用户直接挂钩),RBAC有以下优点:1、权限标准便于统一 2、权限分配方式简单易维护。

  一般来讲RBAC有两种体现方式:基于表结构的RBAC权限管理、基于文件结构的RBAC权限管理。下面就以基于文件结构的方式,简单实现权限的管理。

一、创建用户表sp_user

ThinkPHP中RBAC权限管理的简单应用

二、在ThinkPHP应用级配置文件config.php中定义权限数据

ThinkPHP中RBAC权限管理的简单应用

三、在中间控制器CommonController中编写RBAC实现代码 

ThinkPHP中RBAC权限管理的简单应用

简单流程为:定义用户组的权限信息 -->根据角色id获取当前用户权限-->获取当前用户访问路由的控制器名和方法名-->判断当前要访问的控制器名和方法名是否在当前用户权限数组中

上一篇:TabHost理解与使用


下一篇:python类可以截获Python运算符