【免費開源】Asp.net Core 開發的後臺框架(許可權介紹)
大家好,最近把Core學習了下,然後做了個後臺框架練習一下。
在這裡先向各位介紹一下本系統,歡迎大家試用,如果測到bug歡迎反饋。測試一段時間修復一些明顯bug後,將開源公佈給大家。
.net Core 給我們提供了一個非常好的東西:OnActionExecuting
在每個Action執行之前,進行許可權檢查,合法就繼續,非法就反饋錯誤資訊。我在做這個後臺系統時,採用的是如下的方法設定許可權:
[Descriper(Name = "功能許可權演示一", Memo = "這裡是功能的備註說明", Icode ="A06" ,Super =true)]public IActionResult haha() { //假令供養恆沙聖,不如堅勇求正覺 return View(); } [Descriper(Name = "功能許可權演示二", Memo = "這裡是功能的備註說明")] public IActionResult hehe() { //佈施、持戒、忍辱、精進、禪定、般若 return View(); }
加上自定義標籤
[Descriper(Name = "功能許可權演示一", Memo = "這裡是功能的備註說明", Icode ="A06" ,Super =true)]
即為Action設定了許可權,當然,這個標籤的使用會配上一段解析程式,這裡僅說明使用方法。
Name 表示這個許可權的名稱。
Memo 用來對這個許可權做個詳細的描述,以便我們在後臺為使用者設定許可權時,自己能更清楚設定的是什麼許可權。
Icode 是自己為這個許可權設定的簡碼,因為許可權是靠Controller和Action共同定位的,為了簡單方便,這裡可用Icode來定位許可權,當然,這不是必須要設定的。
Super 這個屬性是為超級管理員設定,如果設定了Super為true,就表示這個Action只能由超級管理員操作,在本系統中,超級管理員在帳號表裡有個lx欄位,值為“S”時,表示此帳號是超級管理員。超級管理員主要是給開發人員使用的,用來配置系統。一般給使用者使用的Action,設定許可權時,不設定Super即可,它預設是false,如上面第二段程式碼所示。
現在,我們看看系統中,這個許可權是如何展示的,又是如何設定的。
圖1
圖中僅顯示了“功能許可權演示二”,由於Super許可權是不開放給一般使用者,所以關於它的許可權就給它遮蔽了。
在圖中我們又看到“系統主後臺”這是怎麼弄的呢?
圖2
只需在Controller上面加一個標籤就可以了。這樣,在後臺頁面,會把這個控制器下的所有許可權歸類到一起顯示。
圖1中,又有“系統自定義許可權表【標籤】”,這又是什麼?
由於我們在開發系統中,會為顯示的標籤或者按鈕設定許可權,所以,我們也要有對應的設定。我們只需單獨建一個Model,然後在裡面配置許可權即可。
例如,在本系統中是如下配置的:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Threading.Tasks; namespace OneMore.Areas.Admin.Models { [Description("系統自定義許可權表【標籤】")] public class Sys_permit_label { [Descriper(Name = "總金額", Memo = "會費總金額",Icode ="l01")] public float mnall { get; set; } } [Description("系統自定義許可權表【按鈕】")] public class Sys_permit_button { [Descriper(Name = "新增", Memo = "高階會員,新增服務按鈕",Icode ="b01")] public float mnall { get; set; } } }
怎麼樣?設定許可權簡單吧。
為了讓許可權結構更加清晰,我在系統中再做了個許可權分組,而後在帳號管理處又做了個帳號分組,這樣可以很方便的為帳號設定許可權。
首先是許可權分組:
圖3
圖4
然後是帳號分組:
圖5
圖6
填寫分組名,勾選相應的許可權,即可完成許可權設定。
然後就可以建立帳號,設定許可權了。
圖7
圖8
圖9
建立完帳號後,我們再點選“編輯”,專門來設定帳號的分組和許可權。
圖10
帳號的操作許可權就是這麼設定。
在圖8裡面,還有個“選單許可權設定”,這個選單是後臺管理選單,比如,我們後臺管理新聞,我們要把新聞管理的選單納入進來,並且也要設定這個選單的顯示許可權。
圖11
這裡紅色框框中的選單,都是可以在後臺配置,並且設定許可權。
圖12
許可權的設定和配置就是這麼操作。
在使用這套系統進行開發時,只需在Action或者Model裡面自己設定許可權就可以了,後臺會自動把你的許可權都讀出來,是不是很方便呢?
演示地址:
http://om.sddwin.com/admin
開啟後,直接點登入就可以了,使用者名稱、密碼預設的,驗證碼做了免疫。
歡迎大家測試,並反饋bug給我,非常感激。待過幾天更完善一些後,會將原始碼全部公開給大家。
我的QQ 175829085