.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

張傳寧發表於2021-06-24

企業管理系統一般包含後臺管理UI、組織機構管理、許可權管理、日誌、資料訪問、表單、工作流等常用必備功能。下面收集的幾款優秀開源的管理系統,值得大家入門學習。

8、基於 ASP.NET Core 構建可熱插拔的外掛化系統

外掛化架構,又稱微核架構,指的是軟體的核心相對較小,主要功能和業務邏輯都通過外掛實現的架構。

外掛化架構一般有兩個核心概念:

  • 核心
  • 外掛

核心通常只包含系統執行的最小功能,以及定義外掛必須符合的介面;外掛則是互相獨立的模組,一般只包含單一的功能。

外掛化技術並不是一個新興的技術,早期很多基於COM開發的WIN32程式其實都是外掛化的系統。在.NET/.NET Core中,也有許多外掛化的實現方案,例如,開源框架ABP, 開源的內容管理系統DotNetNuke, 電子商務框架NopCommerce。

 .NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

《.NET Conf 2020 - 基於ASP.NET Core構建可熱插拔的外掛化系統》
作者:Lamond Lu
專案地址:https://github.com/lamondlu/CoolCat
部落格:http://www.cnblogs.com/lwqlun

《從零開始實現 ASP.NET Core MVC 的外掛式開發》系列部落格:https://mp.weixin.qq.com/s/uOtvUHkCoMu8cpnsjX4Gpg

7、OSharp

OSharpNS 全稱 OSharp Framework with .NetStandard2.x,是一個基於.NetStandard2.x開發的一個.NetCore快速開發框架。這個框架使用最新穩定版的.NetCore SDK(當前是.NET Core 3.0),對 AspNetCore 的配置、依賴注入、日誌、快取、實體框架、Mvc(WebApi)、身份認證、許可權授權等模組進行更高一級的自動化封裝,並規範了一套業務實現的程式碼結構與操作流程,使 .Net Core 框架更易於應用到實際專案開發中。

相關示例專案:

框架的工程組織結構如下:

框架特性

  • 模組化的元件系統設計
  • 自動化的依賴注入序號產生器制UnitOfWork-Repository模式,EFCore上下文動態構建
    • DependencyAttribute特性標註方式  
    • 自動化的序號產生器制
  • 基於AspNetCore的Identity的身份認證設計系統
  • 設計了一個強大的功能許可權與資料許可權的授權體系整合 Swagger 後端API文件系統
    • 功能許可權授權流程
    • 功能許可權驗證流程
    • 資料許可權授權流程
    • 資料許可權驗證流程
  • 程式碼生成器

文件中心 https://docs.osharp.org/quick/start/

開源地址 https://github.com/dotnetcore/OSharp

部落格園:https://www.cnblogs.com/laozhang-is-phi/

Bilibili:https://space.bilibili.com/387802716

直播間:https://live.bilibili.com/21507364

6、Blog.Core 【國產】

Blog.Core 開箱即用的企業級前後端分離【 .NET Core5.0 Api + Vue 2.x + RBAC】許可權框架。由國內微軟MVP“老張的哲學”出品。相比ABP Zero,Blog.Core 更為短小精幹,非常適合管理系統以及網際網路專案的開發。

專案單體部署,併發在400~500,一切正常(不保證自己的各種錯誤寫法)。如果搭配負載,效果更好。已被多家公司所使用:點選檢視列表

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

官方文件:http://apk.neters.club/.doc/

開源地址:https://github.com/anjoy8/Blog.Core

系統架構圖

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

框架模組:

  •  採用倉儲+服務+介面的形式封裝框架;
  •  非同步 async/await 開發;
  •  接入國產資料庫ORM元件 —— SqlSugar,封裝資料庫操作;
  •  支援自由切換多種資料庫,MySql/SqlServer/Sqlite/Oracle/Postgresql/達夢/人大金倉;
  •  實現專案啟動,自動生成種子資料 ;
  •  五種日誌記錄,審計/異常/請求響應/服務操作/Sql記錄等;
  •  支援專案事務處理(若要分散式,用cap即可);
  •  設計4種 AOP 切面程式設計,功能涵蓋:日誌、快取、審計、事務 ;
  •  支援 T4 程式碼模板,自動生成每層程式碼;
  •  或使用 DbFirst 一鍵建立自己專案的四層檔案(支援多庫);
  •  封裝Blog.Core.Webapi.Template專案模板,一鍵重建自己的專案 ;
  •  搭配多個前端案例供參考和借鑑:Blog.Vue、Blog.Admin、Nuxt.tbug、Blog.Mvp.Blazor ;
  •  統一整合 IdentityServer4 認證 ;

元件模組:

  •  提供 Redis 做快取處理;
  •  使用 Swagger 做api文件;
  •  使用 MiniProfiler 做介面效能分析 ;
  •  使用 Automapper 處理物件對映;
  •  使用 AutoFac 做依賴注入容器,並提供批量服務注入 ;
  •  支援 CORS 跨域;
  •  封裝 JWT 自定義策略授權;
  •  使用 Log4Net 日誌框架,整合原生 ILogger 介面做日誌記錄;
  •  使用 SignalR 雙工通訊 ;
  •  新增 IpRateLimiting 做 API 限流處理;
  •  使用 Quartz.net 做任務排程(目前單機多工,叢集排程暫不支援);
  •  支援 資料庫讀寫分離和多庫操作 ;
  •  新增 Redis 訊息佇列 ;
  •  新增 RabbitMQ 訊息佇列 ;
  •  新增 EventBus 事件匯流排 ;
  •  除錯中 - 統一聚合支付;
  •  計劃 - 資料部門許可權;
  •  計劃 - ES 搜尋;

微服務模組:

  •  可配合 Docker 實現容器化;
  •  可配合 Jenkins 實現CI / CD;
  •  可配合 Consul 實現服務發現;
  •  可配合 Ocelot 實現閘道器處理;
  •  可配合 Nginx 實現負載均衡;
  •  可配合 Ids4 實現認證中心;
5、NetModular【國產】

NetModular 是一款為中小型企業而生的基於.Net Core和 Vue.js 的業務模組化以及前後端分離的快速開發框架,最終目的是能夠讓中小團隊快速搭建公司內部開發平臺。

Gitee:https://gitee.com/laoli/NetModular

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

  • 後端技術:.Net Core 3.1、Dapper、Serilog、AutoMapper、FluentValidation、Swagger、RabbitMQ、Redis、EPPlus。
  • 前端技術:Node.js 10+、Vue.js 2.6+、Vue CLI、Vuex、VueRouter、Element-UI。
  • 前端框架 NetModular.UI:前端採用 Vue.js 全家桶+Element UI 開發,也是基於模組化思想設計。原始碼如下:https://github.com/iamoldli/NetModular.UI
  • 前端皮膚:前端支援自定義皮膚功能,框架本身提供了兩套皮膚,其中一套已經內建作為預設皮膚,另外一套需要單獨安裝,原始碼如下:https://github.com/iamoldli/NetModular.Skins.Classics
  • 模組列表。本倉庫只包含基礎框架以及許可權管理(Admin)模組程式碼,其它模組請點選以下連結檢視。

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

4、OpenAuth.Core【國產,入選GVP】
.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

OpenAuth.Core 是大神李玉寶的又一著作,該專案目前收錄於 dotNET China ,並且被Gitee評選為GVP專案(Gitee最有價值的開源專案)。

OpenAuth.Core 是.NET許可權管理及快速開發框架、最好用的許可權工作流系統。源於Martin Fowler企業級應用開發思想及最新技術組合(IdentityServer、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。已成功在docker/jenkins中實施。核心模組包括:組織機構、角色使用者、許可權授權、表單設計、工作流等。它的架構精良易於擴充套件,是中小企業的首選

官網:http://www.openauth.me/

Gitee:https://gitee.com/dotnetchina/OpenAuth.Net

強大的工作流引擎

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

專案分為3個版本:

  • OpenAuth.Net開源版

採用.NET 4.5/.NET 5 MVC + LayUI 前後端開發模式,更適合傳統 .NET Framework 開發者使用,前端深度使用 LayUI 介面。

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

  • OpenAuth.Core開源版

採用.NET Core MVC + LayUI 前後端開發模式,全新.NET Core 跨平臺體驗。在OpenAuth.NET基礎上進一步優化程式碼結構。

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

  • OpenAuth.Pro企業版

採用WebAPI+Vue的前後端完全分離模式,後端基於OpenAuth.Core WebAPI介面。前端SPA單頁面模式,基於Vue全家桶。

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

3、Furion【國產,入選GVP】

Furion專案的作者【富察巨集磊】是一位90後的優秀IT人才。

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

Furioin 是一款基於.NET5技術開發的功能強大、效能極致、文件完善、示例豐富、極易入門、快速開發、極易維護的Web框架。

功能模組

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

框架特點

  • 全新面貌:基於 .NET 5 平臺,沒有歷史包袱
  • 極易入門:只需要一個 Inject() 即可完成配置
  • 極速開發:內建豐富的企業應用開發功能
  • 極少依賴:框架只依賴兩個第三方包
  • 極其靈活:輕鬆面對多變複雜的需求
  • 極易維護:採用獨特的架構思想,只為長久維護設計
  • 完整文件:提供完善的開發文件

文件地址

開源地址

 系列教程

支援平臺

  • 執行環境
    • Windows
    • Linux
    • MacOS
    • Docker/K8S/K3S/Rancher
    • Xamarin/MAUI
  • 資料庫
    • SqlServer
    • Sqlite
    • Azure Cosmos
    • MySql
    • MariaDB
    • PostgreSQL
    • InMemoryDatabase
    • Oracle
    • Firebird
    • 達夢資料庫
    • MongoDB
  • 應用部署
    • Kestrel
    • Nginx
    • Jexus
    • IIS
    • Apache
    • PM2
    • Supervisor
    • 獨立釋出/單檔案
    • 容器(Docker/K8S/K3S/Rancher)

作者的其他優秀開源專案

  • https://gitee.com/monksoul
  • https://github.com/monksoul

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

2、BootstrapAdmin【國產,入選GVP】

本系統可以用於所有的 Web 應用程式,目前版本已經升級到 NET CORE 具備跨平臺能力。資料庫方面同時支援多種資料庫,詳細列表見後面資料庫的詳細列表,切換資料來源僅需更改配置檔案無需重啟應用程式,配置簡單靈活。UI 前端使用流行的 Bootstrap 框架佈局對移動裝置的相容性非常好,自適應目前市場幾乎所有終端裝置。本系統還具備單一後臺支援多前臺的特色,提供 單點登入(SSO) 的能力。

使用 NET Core + Bootstrap + PetaPoco + HTML 5 + jQuery 構建的後臺管理平臺

 .NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

特別說明

BootstrapAdmin 無需二次開發,要做的僅僅是與前臺系統整合,前臺系統模板工程為 Bootstrap.Client
專案原始出發點是把許可權系統從業務系統中剝離出來,專案開發專注於功能,詳細配置說明請點選 檢視文件

主要功能

  • 通過配置與前臺網站整合
  • 構建前臺系統分層級選單
  • 提供單一後臺支援多前臺應用配置
  • 提供單點登入
  • 整合系統認證授權模組
  • 提供角色,部門,使用者,選單,前臺應用程式授權
    • 角色對使用者授權
    • 角色對選單授權
    • 角色對部門授權
    • 角色對應用程式授權(多個前臺應用公用一個後臺許可權管理系統)
    • 部門對使用者授權
  • 提供字典表用於前臺網站個性化配置
  • 完全響應式佈局(支援電腦、平板、手機等所有主流裝置)
  • 內建多資料來源支援,配置簡單立即生效無需重啟
  • 內建資料記憶體快取機制,頁面快速響應
  • 內建資料 操作日誌 與使用者 登入日誌,跟蹤記錄使用者 登入主機地點 瀏覽器 作業系統資訊

優勢

  • 前臺系統不用編寫登入、授權、認證模組;只負責編寫業務模組即可
  • 後臺系統無需任何二次開發,直接釋出即可使用
  • 前臺與後臺系統分離,分別為不同的系統(域名可獨立)
  • 可擴充套件為多租戶應用

資料庫

資料庫支援列表如下:
MSSQL/Oracle/SQLite/MySql/MariaDB/Postgresql/Firebird/MongoDB

開源地址:https://gitee.com/dotnetchina/BootstrapAdmin

1、WTM

mvvm框架(WTM)是一個基於.NET Core 的快速開發框架。它支援LayUI、React和VUE。WTM有內建的程式碼生成器,以最大限度地提高開發效率。它是高效web開發的強大工具。

框架特徵:

WTM提供了4種型別的ViewModel,涵蓋了主流web應用程式的所有常見功能。

  • CrudVM提供了最常見的資料新增、刪除和修改功能。
  • ListVM提供分頁和匯出功能。
  • ImportVM、TemplateVM提供了通過excel匯入的功能。
  • BatchVM提供批操作功能。
  • WTM有自己的程式碼生成器,這使得開發效率高、速度快。
  • WTM提供了許多客戶端控制元件,包括表單、網格、皮膚、對話方塊和許多其他常用控制元件。
  • WTM提供內建使用者、角色、使用者組、資料許可權、頁面許可權、選單、日誌、郵件、簡訊、檔案等常用後端功能;
  • WTM支援單點登入、門戶和分散式資料庫;
  • WTM提供了與Redis、DFS等庫的簡化整合。
  • WTM提供了用於構建使用者介面的伺服器端和客戶端框架。

開源地址:https://github.com/dotnetcore/WTM

中文文件:http://wtmdoc.walkingtec.cn/

.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

GVP Gittee 最有價值開源專案
.NET Core/.NET5/.NET6 開源專案彙總5:許可權管理系統專案

本計劃採用年審制,每年重新稽核專案是否滿足以上條件。

- GVP 計劃參與者並不是 Gitee 平臺的官方人員,其觀點和行為,僅代表個人,不代表 Gitee 平臺的官方立場。

- GVP 計劃參與者不得有違反國家規定、Gitee 網站規則的行為,否則將取消 GVP 計劃參與者身份。

- 參與 GVP 計劃後,不得大量釋出廣告或軟文,否則 Gitee 平臺有權永久取消 GVP 計劃參與者身份。

- 申請參與 GVP 計劃的專案不得惡意刷數,一經發現,Gitee 平臺有權永久取消 GVP 計劃參與者身份,並進行全平臺通報。

- GVP 專案不允許刪除,不允許轉為私有專案。

地址:https://gitee.com/gvp

相關文章