久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      yii2怎么實現(xiàn)rbac

      yii2怎么實現(xiàn)rbac

      RBAC(Role-Based Access Control )基于角色的訪問控制。

      1.基本思想:在用戶和訪問權(quán)限之間引入角色的概念,將用戶和角色聯(lián)系起來,通過對角色的授權(quán)來控制用戶對系統(tǒng)資源的訪問,相對傳統(tǒng)訪問控制 引入角色極大地簡化了權(quán)限的管理。 (推薦學(xué)習(xí):yii框架)

      1).角色:可以理解為一定數(shù)量的權(quán)限的集合,權(quán)限的載體。例如:一個論壇系統(tǒng),“超級管理員”、“版主”都是角色。

      2).權(quán)限:版主可管理版內(nèi)的帖子、可管理版內(nèi)的用戶等,這些是權(quán)限。

      Yii2中對rbac的實現(xiàn)

      1.Yii2實現(xiàn)了通用的分層的RBAC,遵循的模型也是NIST RBAC model。

      2.在yii2中增加了rule規(guī)則的概念,rule是什么鬼呢?

      舉個栗子:對于文章系統(tǒng)而言,我們有管理員和普通用戶,允許管理員對文章的任何操作,但是只允許普通用戶創(chuàng)建文章和修改自己創(chuàng)建的文章,也就是說普通用戶是有修改文章的權(quán)限的,但是額加的限制條件是只能修改自己的文章,這個額加的驗證工作就是rule規(guī)則所要負(fù)責(zé)的事情。

      3.yii2的權(quán)限管理實現(xiàn)支持文件和db兩個載體,基于db實現(xiàn)方式的核心是四個表:

      1)存儲角色或權(quán)限的表:auth_item (type:1表示 角色;2表示權(quán)限)

      CREATE TABLE `auth_item` ( `name` varchar(64) NOT NULL, `type` int(11) NOT NULL, `description` text, `rule_name` varchar(64) DEFAULT NULL, `data` text, `created_at` int(11) DEFAULT NULL, `updated_at` int(11) DEFAULT NULL, PRIMARY KEY (`name`), KEY `rule_name` (`rule_name`), KEY `type` (`type`), CONSTRAINT `auth_item_ibfk_1` FOREIGN KEY (`rule_name`) REFERENCES `auth_rule` (`name`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8

      2) 權(quán)限和角色的上下級關(guān)聯(lián)表:auth_item_child

      (包含關(guān)系:角色 可以包含 角色、角色 可以包含 權(quán)限、權(quán)限 可以包含 權(quán)限,但 權(quán)限 不可包含 角色)

      CREATE TABLE `auth_item_child` ( `parent` varchar(64) NOT NULL, `child` varchar(64) NOT NULL, PRIMARY KEY (`parent`,`child`), KEY `child` (`child`), CONSTRAINT `auth_item_child_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `auth_item_child_ibfk_2` FOREIGN KEY (`child`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8

      3)用戶與權(quán)限(角色)的分配表:auth_assignment

      CREATE TABLE `auth_assignment` ( `item_name` varchar(64) NOT NULL, `user_id` varchar(64) NOT NULL, `created_at` int(11) DEFAULT NULL, PRIMARY KEY (`item_name`,`user_id`), CONSTRAINT `auth_assignment_ibfk_1` FOREIGN KEY (`item_name`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8

      4)規(guī)則表:auth_rule

      CREATE TABLE `auth_rule` (     `name` varchar(64) NOT NULL,     `data` text,  //存的是一個序列化的實現(xiàn)了yiirbacRule接口的類的一個對象實例   `created_at` int(11) DEFAULT NULL,     `updated_at` int(11) DEFAULT NULL,     PRIMARY KEY (`name`),     KEY `name` (`name`),     KEY `created_at` (`created_at`),     KEY `updated_at` (`updated_at`)   ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='權(quán)限規(guī)則表';

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號