看到這篇文章我才真正的明白了,之前不知道別人的思路,原來這就是別人的思路
其實這個思路是嚴格按照表的關係,1:1 1:n n:n關係設計的,考慮了很久怎麼和選單動態的關聯
所以想找出選單和許可權是什麼關係,看到這篇文章,這裡當做是1:1的關係,也就是乙個許可權對應乙個選單,
可是我們實際中的後台**會每個操作都有乙個耳機選單呢,所以就有人在選單表中多加了乙個欄位is_show來判斷這個動作對應的選單是否顯示的問題
這樣功能是可以實現,但是覺得總有很多的雜亂的東西在裡面,所以想精簡出自己的乙個rbac類庫,把設計做到最好
**。角色與角色的關係可以建立起來以囊括更廣泛的客觀情況。
根據上面的需求,設計了以下資料庫
說明:系統中有使用者表(user)、角色表(role)、角色許可權表(role_privilege)、許可權表(privilege)、選單表(menu_item) 每個使用者對應乙個角色,每個角色有多個許可權,每個許可權屬於乙個選單項
根據需求,整個rbac系統的後端分為以下幾個模組:
使用者管理:
使用者查詢
使用者編輯
使用者刪除
使用者新增
文章管理
文章查詢
文章編輯
文章刪除
文章新增
對於普通使用者:無進入後端管理的許可權
根據以上需求,對資料庫進行初始化
資料庫的設計到此為止,目前這個許可權系統已經託管到了github上了,後續的程式實現思路會另外寫一篇博文
RBAC許可權設計
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
RBAC 設計演進
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
RBAC許可權設計
rbac 模型作為目前最為廣泛受的許可權模型 角色訪問控制 rbac 引入了role的概念,目的是為了隔離user 即動作主體,subject 與privilege 許可權,表示對resource的乙個操作,即operation resource role作為乙個使用者 user 與許可權 priv...