iT邦幫忙

0

ASP.NET MVC 權限管理設計

各位前輩好

小弟目前的任務是要做公司的內部系統

一開始的時候是參考 RBAC 這個方式來做權限管理

想不到怎麼把 權限設定 跟 選單設定 合併起來

就在角色編輯頁做了兩個頁籤 分別設定 權限 跟 選單

這樣的操作上感覺有點太繁瑣

想請問各位前輩的做法是什麼

另外老闆也有提到別的 ERP 能做到控管某個按鈕、某個欄位能不能使用

請問怎麼做到這種程度..

謝謝

優悠 iT邦新手 5 級 ‧ 2018-06-13 17:48:28 檢舉
我家老闆是從DB抓權限資料,在分析應有權限所要的選單,最後在HTML上顯示
小魚 iT邦好手 1 級 ‧ 2018-06-13 23:36:18 檢舉
寫死的比較容易,
就欄位名稱處理一下就好了,
如果是要活的,
就會比較麻煩...

2 個回答

0
I code so I am
iT邦新手 1 級 ‧ 2018-06-14 08:07:56
最佳解答

個人的作法如下:

  1. 建立一個 table -- roleFunction,記錄 user role 能操作的系統功能(or 選單)。
  2. 撰寫一個 Filter,在 Controller 設定,以過濾每個 request,是否有權限執行。
  3. User Login 後,依據 roleFunction 篩選應該出現的選單
  4. 如果要做到控管某個按鈕、某個欄位能不能使用,可以再加欄位或加 table 處理。

以上是個人的作法,沒有使用任何 open source,加減參考看看。

0
fillano
iT邦超人 1 級 ‧ 2018-06-14 17:58:40

可以很簡單的就用一個字串或數字定義權限,只要在系統內不重複即可。然後在跟權限相關的操作時,檢查用戶的角色是否擁有這個權限就好。這樣子的話,怎麼控制都做得出來。(抽象,有彈性,但是寫程式會比較繁瑣)

我要發表回答

立即登入回答