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