比如說上方有選單
報表
統計
文章
商品
管理員
編輯
會計
這是每一個職稱的名字
每一個職稱能進入的頁面不同
比如說管理員可以進入以上四個頁面
編輯只能進文章跟商品
會計只能進報表跟統計
前提是管理員可以勾選每個職缺可進入哪些頁面
1.資料庫會怎麼設計呢
2.頁面怎麼擋比較有效率呢
有高手能指點一下嗎?
使用者-政策
一個使用者可以有多個政策
那政策存的是字串,格式如下
編輯:文章:rw|商品:rw
會計:報表:rw|統計:rw
在文章的頁面檢核進入的人是否有相應的權限,權限採白名單,有就可以進入、修改
用兩張一對多的資料表就完工了
可參考:
https://github.com/OWASP/rbac
https://my.oschina.net/programs/blog/1648205
簡單淺顯的說
在進入每個頁面之前都先檢查Role
沒有相對應的Role就轉移到首頁
可以角色為基礎的存取控制(Role-based access control, RBAC),將系統授權拆解為User(使用者)、Role(角色)、Permission(權限)。讓開發人員可以在系統內,定義使用者屬於哪個角色、哪個角色擁有那些權限、權限可以使用哪些功能。後續使用者通過驗證之後,就可以依照角色權限來使用系統功能。
參考
1.維基百科
https://zh.wikipedia.org/wiki/以角色為基礎的存取控制
2.後台設計的基石:用戶許可權管理(RBAC)及工作流(workflow)模型
https://www.pixpo.net/technology/0IXXB4vD.html
3.RBAC概念与系统设计
http://blog.thrimbda.com/2017/05/06/RBAC实践系统设计/