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(角色或者权限)是否可执行。

  • 相关阅读:
    Java Script 读书笔记 (二) 错误处理机制 -- 没看懂,待review
    Visual Studio Code Tips
    SQLServer数据库分页查询
    Sql server inner join......on
    Sql server if-else以及switch
    git介绍
    Fiddler
    cocos2d对动画的各种操作
    SQLI
    Windows系统命令备份
  • 原文地址:https://www.cnblogs.com/baby123/p/4871779.html
Copyright © 2011-2022 走看看