.NET Core/.NET5/.NET6 開源項目匯總5:許可權管理系統項目
- 2021 年 6 月 24 日
- 筆記
- .NET Core, .NET:.NET Core, .NET:.NET5, .NET:.NET6, .NET:開源項目, .net5, .NET6
企業管理系統一般包含後台管理UI、組織機構管理、許可權管理、日誌、數據訪問、表單、工作流等常用必備功能。下面收集的幾款優秀開源的管理系統,值得大家入門學習。
插件化架構,又稱微核架構,指的是軟體的內核相對較小,主要功能和業務邏輯都通過插件實現的架構。
插件化架構一般有兩個核心概念:
- 內核
- 插件
內核通常只包含系統運行的最小功能,以及定義插件必須符合的介面;插件則是互相獨立的模組,一般只包含單一的功能。
插件化技術並不是一個新興的技術,早期很多基於COM開發的WIN32程式其實都是插件化的系統。在.NET/.NET Core中,也有許多插件化的實現方案,例如,開源框架ABP, 開源的內容管理系統DotNetNuke, 電子商務框架NopCommerce。
《.NET Conf 2020 – 基於ASP.NET Core構建可熱插拔的插件化系統》
作者:Lamond Lu
項目地址://github.com/lamondlu/CoolCat
部落格://www.cnblogs.com/lwqlun
《從零開始實現 ASP.NET Core MVC 的插件式開發》系列部落格://mp.weixin.qq.com/s/uOtvUHkCoMu8cpnsjX4Gpg
OSharpNS 全稱 OSharp Framework with .NetStandard2.x,是一個基於.NetStandard2.x
開發的一個.NetCore
快速開發框架。這個框架使用最新穩定版的.NetCore SDK
(當前是.NET Core 3.0),對 AspNetCore 的配置、依賴注入、日誌、快取、實體框架、Mvc(WebApi)、身份認證、許可權授權等模組進行更高一級的自動化封裝,並規範了一套業務實現的程式碼結構與操作流程,使 .Net Core 框架更易於應用到實際項目開發中。
相關示例項目:
- Vue版本(vben): //github.com/i66soft/osharp-vben
- Mvc版本(layui): //github.com/i66soft/osharp-layui
- Blazor版本(BootstrapBlazor): //github.com/i66soft/osharp-blazor
框架的工程組織結構如下:
框架特性
- 模組化的組件系統設計
- 自動化的依賴注入註冊機制UnitOfWork-Repository模式,EFCore上下文動態構建
- DependencyAttribute特性標註方式
- 自動化的註冊機制
- 基於AspNetCore的Identity的身份認證設計系統
- 設計了一個強大的功能許可權與數據許可權的授權體系集成 Swagger 後端API文檔系統
- 功能許可權授權流程
- 功能許可權驗證流程
- 數據許可權授權流程
- 數據許可權驗證流程
- 程式碼生成器
文檔中心 //docs.osharp.org/quick/start/
開源地址 //github.com/dotnetcore/OSharp
部落格園://www.cnblogs.com/laozhang-is-phi/
Bilibili://space.bilibili.com/387802716
直播間://live.bilibili.com/21507364
Blog.Core 開箱即用的企業級前後端分離【 .NET Core5.0 Api + Vue 2.x + RBAC】許可權框架。由中國微軟MVP「老張的哲學」出品。相比ABP Zero,Blog.Core 更為短小精幹,非常適合管理系統以及互聯網項目的開發。
項目單體部署,並發在400~500,一切正常(不保證自己的各種錯誤寫法)。如果搭配負載,效果更好。已被多家公司所使用:點擊查看列表。
開源地址://github.com/anjoy8/Blog.Core
系統架構圖
框架模組:
- 採用
倉儲+服務+介面
的形式封裝框架; - 非同步 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 實現認證中心;
NetModular 是一款為中小型企業而生的基於.Net Core和 Vue.js 的業務模組化以及前後端分離的快速開發框架,最終目的是能夠讓中小團隊快速搭建公司內部開發平台。
Gitee://gitee.com/laoli/NetModular
- 後端技術:.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 開發,也是基於模組化思想設計。源碼如下://github.com/iamoldli/NetModular.UI
- 前端皮膚:前端支援自定義皮膚功能,框架本身提供了兩套皮膚,其中一套已經內置作為默認皮膚,另外一套需要單獨安裝,源碼如下://github.com/iamoldli/NetModular.Skins.Classics
- 模組列表。本倉庫只包含基礎框架以及許可權管理(Admin)模組程式碼,其它模組請點擊以下鏈接查看。

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中實施。核心模組包括:組織機構、角色用戶、許可權授權、表單設計、工作流等。它的架構精良易於擴展,是中小企業的首選。
Gitee://gitee.com/dotnetchina/OpenAuth.Net
強大的工作流引擎
項目分為3個版本:
- OpenAuth.Net開源版
採用.NET 4.5/.NET 5 MVC + LayUI 前後端開發模式,更適合傳統 .NET Framework 開發者使用,前端深度使用 LayUI 介面。
- OpenAuth.Core開源版
採用.NET Core MVC + LayUI 前後端開發模式,全新.NET Core 跨平台體驗。在OpenAuth.NET基礎上進一步優化程式碼結構。
- OpenAuth.Pro企業版
採用WebAPI+Vue的前後端完全分離模式,後端基於OpenAuth.Core WebAPI介面。前端SPA單頁面模式,基於Vue全家桶。
Furion項目的作者【富察宏磊】是一位90後的優秀IT人才。
Furioin 是一款基於.NET5技術開發的功能強大、性能極致、文檔完善、示例豐富、極易入門、快速開發、極易維護的Web框架。
功能模組
框架特點
- 全新面貌:基於
.NET 5
平台,沒有歷史包袱 - 極易入門:只需要一個
Inject()
即可完成配置 - 極速開發:內置豐富的企業應用開發功能
- 極少依賴:框架只依賴兩個第三方包
- 極其靈活:輕鬆面對多變複雜的需求
- 極易維護:採用獨特的架構思想,只為長久維護設計
- 完整文檔:提供完善的開發文檔
文檔地址
- 中國文檔://dotnetchina.gitee.io/furion
- 國外文檔://furion.pro
開源地址
- Gitee://gitee.com/dotnetchina/Furion
- GitHub://github.com/monksoul/Furion
- Docker://hub.docker.com/r/monksoul/furion
- Nuget://www.nuget.org/packages/Furion
系列教程
- Furion 影片教程://space.bilibili.com/695987967
- Furion 使用例子://gitee.com/monksoul/furion-samples 可能大部分示例已經不通用
- Furion 系列教程:《學 .NET 5 從 Furion 開始》 系列
支援平台
- 運行環境
- 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)
作者的其他優秀開源項目
- //gitee.com/monksoul
- //github.com/monksoul
本系統可以用於所有的 Web 應用程式,目前版本已經升級到 NET CORE 具備跨平台能力。資料庫方面同時支援多種資料庫,詳細列表見後面資料庫的詳細列表,切換數據源僅需更改配置文件無需重啟應用程式,配置簡單靈活。UI 前端使用流行的 Bootstrap 框架布局對移動設備的兼容性非常好,自適應目前市場幾乎所有終端設備。本系統還具備單一後台支援多前台的特色,提供 單點登錄(SSO) 的能力。
使用 NET Core + Bootstrap + PetaPoco + HTML 5 + jQuery 構建的後台管理平台
特別說明
BootstrapAdmin 無需二次開發,要做的僅僅是與前台系統集成,前台系統模板工程為 Bootstrap.Client
項目原始出發點是把許可權系統從業務系統中剝離出來,項目開發專註於功能,詳細配置說明請點擊 查看文檔
主要功能
- 通過配置與前台網站集成
- 構建前台系統分層級菜單
- 提供單一後台支援多前台應用配置
- 提供單點登錄
- 集成系統認證授權模組
- 提供角色,部門,用戶,菜單,前台應用程式授權
- 角色對用戶授權
- 角色對菜單授權
- 角色對部門授權
- 角色對應用程式授權(多個前台應用公用一個後台許可權管理系統)
- 部門對用戶授權
- 提供字典表用於前台網站個性化配置
- 完全響應式布局(支援電腦、平板、手機等所有主流設備)
- 內置多數據源支援,配置簡單立即生效無需重啟
- 內置數據記憶體快取機制,頁面快速響應
- 內置數據 操作日誌 與用戶 登錄日誌,跟蹤記錄用戶 登錄主機地點 瀏覽器 作業系統資訊
優勢
- 前台系統不用編寫登錄、授權、認證模組;只負責編寫業務模組即可
- 後台系統無需任何二次開發,直接發布即可使用
- 前台與後台系統分離,分別為不同的系統(域名可獨立)
- 可擴展為多租戶應用
資料庫
資料庫支援列表如下:
MSSQL/Oracle/SQLite/MySql/MariaDB/Postgresql/Firebird/MongoDB
開源地址://gitee.com/dotnetchina/BootstrapAdmin
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提供了用於構建用戶介面的伺服器端和客戶端框架。
開源地址://github.com/dotnetcore/WTM

本計劃採用年審制,每年重新審核項目是否滿足以上條件。
– GVP 計劃參與者並不是 Gitee 平台的官方人員,其觀點和行為,僅代表個人,不代表 Gitee 平台的官方立場。
– GVP 計劃參與者不得有違反國家規定、Gitee 網站規則的行為,否則將取消 GVP 計劃參與者身份。
– 參與 GVP 計劃後,不得大量發布廣告或軟文,否則 Gitee 平台有權永久取消 GVP 計劃參與者身份。
– 申請參與 GVP 計劃的項目不得惡意刷數,一經發現,Gitee 平台有權永久取消 GVP 計劃參與者身份,並進行全平台通報。
– GVP 項目不允許刪除,不允許轉為私有項目。