zoukankan      html  css  js  c++  java
  • RBAC(基于角色的访问控制权限)表结构

    Rbac 支持两种类,PhpManager(基于文件的) 和 DbManager(基于数据库的)

    权限:
    就是指用户是否可以执行哪些操作

    角色:
    就是上面说的一组操作的集合,角色还可以继承

    在Yii2.0中

      • yii bac: Item 为角色或者权限的基类,其中用字段type来标识
      • yii bac: Role 为代表角色的类
      • yii bac: Permission 为代表权限的类
      • yii bac: Assignment 为代表用户角色或者权限的类
      • yii bac: Rule 为代表角色或权限能否执行的判定规则表

    在数据库中存储的RBAC层次是低效率的浪费性能的,但要灵活得多

    存储角色或权限的表:auth_item

    用来存储角色和权限的数据,Role类和Permission类有一个共同的基类yii bac:Item,用$type字段来标识是角色还是权限。

    角色权限关联表:auth_item_child

    用来保存角色和权限的关系

    用户角色(权限)表:auth_assignment

    用户的权限包含两部分,一部分是所指定的角色代表的权限,一部分就是直接所指定的权限

    规则表:auth_rule

    如果要在规则表:[auth_rule]中增加一条规则就得要有对应的规则类,并实现方法abstract public function execute($item, $params)具体的逻辑来判定$item(角色或者权限)是否可执行。

  • 相关阅读:
    -webkit-line-clamp 多行文字溢出...
    整理一些知识碎片...
    localstorage sessionstorage和cookie的区别
    数据结构 --- Set
    Iterator(遍历器)
    ES6数组方法 -- reduce()
    ES6 -- 展开运算符
    Centos7 + Oracel 18c
    Mysql 查询返回大量数据导致内存溢出
    github的安装和使用
  • 原文地址:https://www.cnblogs.com/baby123/p/4871779.html
Copyright © 2011-2022 走看看