Yii权限管理工具Srbac使用小结
一、關(guān)于Srbac
Srbac是基于Yii 框架的 RBAC(基于角色的訪問控制) 插件模塊,用于幫助Yii開發(fā)人員更方便地進(jìn)行權(quán)限控制,在實(shí)際應(yīng)用過程中也比較方便。
二、安裝配置Srbac
在Yii的官方網(wǎng)站的Extensions中已經(jīng)收錄了Srbac插件,且給出了官方的配置文檔,比較詳細(xì)地列出了修改的具體內(nèi)容。配置詳情請見《Yii中配置Srbac模塊》。
三、Srbac的使用
Srbac提供了比較友好的圖形化界面操作,可以比較方便使用其提供的功能。我們可以通過這三個按鈕來進(jìn)行具體到每個用戶的權(quán)限操作和查詢。
四、Srbac功能的詳細(xì)解釋
Srbac模塊是通過roles-- tasks-- operations 這三者之間的映射關(guān)系來實(shí)現(xiàn)權(quán)限控制的。
roles:角色
tasks:任務(wù)
operations:操作
其中:
users對應(yīng)于我們的用戶
roles對應(yīng)于我們系統(tǒng)需要的所有角色名稱
tasks對應(yīng)于我們的訪問控制任務(wù),其中可以包含多個的operation
operations對應(yīng)于我們需要進(jìn)行權(quán)限管理的所有具體操作的名稱(例如某個具體的action,我們只允許某個role來訪問)
配置好role/task/operation之后,將operations分配給各個task,然后再將tasks分配給具體的role,每個user都可以指定單獨(dú)的role,實(shí)現(xiàn)其權(quán)限的賦予。這些,通過界面中的按鈕來實(shí)現(xiàn)。
另外,Srbac還有用戶查詢界面,可以方便的對用戶進(jìn)行詳細(xì)權(quán)限的查詢:
五、Srbac的數(shù)據(jù)庫表
其中,user表是我們系統(tǒng)的用戶表,其中包含我們項(xiàng)目用戶的基本信息,我們可以根據(jù)項(xiàng)目的實(shí)際需求來配置user表,但需要注意的是,我們需要有一個識別用戶的唯一字段,我們習(xí)慣使用user的id來判斷用戶的身份:
auth_item_child表用來記錄role/task、task/operation之間的繼承關(guān)系:
auth_item表是存儲我們新建role/task/operation的類型、備注、業(yè)務(wù)規(guī)則等:
auth_assignment表中記錄著各個role與user表中的用戶id對應(yīng)情況:
這幾張表能夠確保我們可以對每個用戶的權(quán)限進(jìn)行精確地管理。如果項(xiàng)目需要,我們也可以對這些表進(jìn)行自由的調(diào)整,比如將auth_assignment表中的字段插入user表中,使用user表進(jìn)行角色的查詢等等。
?
上一張RBAC工作流程圖:
?
?
End.
轉(zhuǎn)載于:https://www.cnblogs.com/lianche/p/3642432.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Yii权限管理工具Srbac使用小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【6】JAVA---地址App小软件(Q
- 下一篇: win7 安装 IIS