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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM