如:
菜單1
菜單2
菜單3
……
設計:
表: 主鍵,帳號,密碼,許可權
1 * * 1,2 2 * * 1,2,3 3 * * 2 4 * * 4
就是把有許可權的放入【許可權】欄位
大家有什麼好的方法
回複內容:
如:
菜單1
菜單2
菜單3
……
設計:
表: 主鍵,帳號,密碼,許可權
1 * * 1,2 2 * * 1,2,3 3 * * 2 4 * * 4
就是把有許可權的放入【許可權】欄位
大家有什麼好的方法
比較簡單的 像 ACL(存取控制清單) 這種。一般都滿足項目需要。
稍複雜一些的有 RBAC (基於較色的許可權控制)。
php 裡面有一個不錯的RBAC實現phprbac
一般情況下 ACL 就已經夠用了。
很高興回答樓主的問題。
關於許可權系統的設計,對於MIS系統來說,基本都是必備的。現在很多公司,都是有通用的許可權系統的整套解決方案,而樓主提出的許可權設計,是可行的,的確有很多的MIS是這麼乾的,沒有問題。對了,還需要添加一張表,定義許可權。
我以前做的系統是把許可權放在一個單獨的欄位,用一個char來放的,每一位表示一個許可權,然後寫一個協助類去設定和擷取每個許可權。
我的設計也是一個欄位來判斷許可權,對這種設計的利弊沒有多深的瞭解,誰有好的見解分享下
1.ACL
2.RBAC
有一點要說一句:使用RBAC時,大家喜歡建一張user和role的關聯表,其實直接將role_id作為user的一個屬性才是正道。
歡迎繼續討論。
role和node表是多對多關聯的。角色A有1、2、3三個功能點,角色D有1、3、5三個功能點,現在多了一個新功能100,給角色A角色D都增加新功能100的許可權。我所說的是user和role一對一關聯,一個使用者就一種角色。u1需要1、2、3、5、100這些功能,就建立一個角色E,角色E關聯1、2、3、5、100這些功能點。u1的role屬性設定為E。如果按照以往的方式,就是u1關聯了角色A和角色D,查詢出角色A和角色D的功能點,合并後就是u1擁有的許可權。
就算許可權系統向QQ那樣複雜,每一級QQ等級都有不同的功能點,那就每一個等級是一個角色,每個QQ使用者的等級是唯一的。那角色表最多就一百多個角色,而不是user關聯一堆role。
還有一點,系統新功能添加的頻繁程度和擷取使用者功能許可權的頻率肯定是不能比的。越簡單往往意味著高效能和穩健。
一般很多都是用RBAC 就算不是也是這種類似的邏輯 可以做即時驗證和登陸驗證兩種
跨部門任職的人,許可權很麻煩
使用rbac就可以了啊