1. 程式人生 > >【免費開源】Asp.net Core 開發的後臺框架(許可權介紹)

【免費開源】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