細說Yii的rbac

既然是說,就不整源碼什麼的,如何使用你看官方文檔就可以

我主要說說rbac的意境。

在rbac裏有role,perssion,rule,user。

role就是角色,含義是抽象的,代表的是user的分類

perssion是權限,含義也是抽象的,至於怎麼理解,稍後聯合user,rule一起說。

rule是規則,表示你有沒有權利使用這個角色或者權限。

user就是用戶,通常會把一個角色指派給用戶,但是也可以只指派給用戶一個權限。


這些瞭解了,剩下的就是哪些是預設的,哪些是在預設之後使用的

perssion是預設的,理論上,Yii四張表中,最先出現的一條數據就是item裏的perssion(當然第一個是role也沒問題)

其次,rule也是預設的,有多少規則寫完以後,用控制檯或者自己寫個接口運行一下,直接生成,以後只加不減(減也可以,但是容易引發刪除異常)

然後就添加role

建立role和perssion的關係

最後把role指派給用戶

這樣理解就比較清晰了吧,這回再去看官方文檔,也許就能更理解了吧


PS:之前我有個誤區,我把assignment表裏的user_id理解成了token,用戶授權給第三方,就相當於創建一個token,然後把角色給這個token。

最後一句,總而言之呢,item,item_chile,rule這三張表的數據很有限,assignment這個表的數據等於賬號表的數據,這是我前期沒領悟到的,希望能幫助到你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章