iT邦幫忙

0

網頁如果要設定權限,怎麼設計比較好?

比如說上方有選單

報表
統計
文章
商品

管理員
編輯
會計

這是每一個職稱的名字
每一個職稱能進入的頁面不同
比如說管理員可以進入以上四個頁面
編輯只能進文章跟商品
會計只能進報表跟統計

前提是管理員可以勾選每個職缺可進入哪些頁面

1.資料庫會怎麼設計呢
2.頁面怎麼擋比較有效率呢

有高手能指點一下嗎?

1. 要有一個 使用者權限表
2. 每個表單要針對權限做額外的設計
例如 讀 新增 修改 審核 刪除 這些動作
3. 進入表單先去 權限表 檢查看 USER 在這個表單有什麼權限
然後再去顯示相對應的功能或動作
上面說的是基本的做法,如果你還有設定群組的話,那權限檢查那裏還要把USER群組加進去
3
stephen3342
iT邦新手 4 級 ‧ 2018-08-24 15:53:10
最佳解答

大約的結構
其他欄位自已再加上去
Table間關連 圓頭表示 1 箭頭表示 多
https://ithelp.ithome.com.tw/upload/images/20180824/20098325dDaWriYFja.png

我也貢獻一張圖好了,資料表的話我會這麼設計
https://ithelp.ithome.com.tw/upload/images/20180829/200970824wOEpSUDVr.jpg

0
黃彥儒
iT邦研究生 1 級 ‧ 2018-08-24 13:08:12

使用者-政策

一個使用者可以有多個政策
那政策存的是字串,格式如下

編輯:文章:rw|商品:rw
會計:報表:rw|統計:rw

在文章的頁面檢核進入的人是否有相應的權限,權限採白名單,有就可以進入、修改
用兩張一對多的資料表就完工了

asys0512 iT邦研究生 5 級 ‧ 2018-08-24 13:46:25 檢舉

還是有點不懂,方便+藾或補充說明嗎

0
j2ian
iT邦新手 5 級 ‧ 2018-08-25 01:53:14

可參考:
https://github.com/OWASP/rbac
https://my.oschina.net/programs/blog/1648205

簡單淺顯的說
在進入每個頁面之前都先檢查Role
沒有相對應的Role就轉移到首頁

0
chaosfractal
iT邦新手 5 級 ‧ 2018-08-27 17:33:42

可以角色為基礎的存取控制(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实践系统设计/

我要發表回答

立即登入回答