.NET Core/.NET5/.NET6 開源項目匯總5:權限管理系統項目
企業管理系統一般包含后台管理UI、組織機構管理、權限管理、日志、數據訪問、表單、工作流等常用必備功能。下面收集的幾款優秀開源的管理系統,值得大家入門學習。
插件化架構,又稱微核架構,指的是軟件的內核相對較小,主要功能和業務邏輯都通過插件實現的架構。
插件化架構一般有兩個核心概念:
- 內核
- 插件
內核通常只包含系統運行的最小功能,以及定義插件必須符合的接口;插件則是互相獨立的模塊,一般只包含單一的功能。
插件化技術並不是一個新興的技術,早期很多基於COM開發的WIN32程序其實都是插件化的系統。在.NET/.NET Core中,也有許多插件化的實現方案,例如,開源框架ABP, 開源的內容管理系統DotNetNuke, 電子商務框架NopCommerce。
《.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
OSharpNS 全稱 OSharp Framework with .NetStandard2.x,是一個基於.NetStandard2.x
開發的一個.NetCore
快速開發框架。這個框架使用最新穩定版的.NetCore SDK
(當前是.NET Core 3.0),對 AspNetCore 的配置、依賴注入、日志、緩存、實體框架、Mvc(WebApi)、身份認證、權限授權等模塊進行更高一級的自動化封裝,並規范了一套業務實現的代碼結構與操作流程,使 .Net Core 框架更易於應用到實際項目開發中。
相關示例項目:
- Vue版本(vben): https://github.com/i66soft/osharp-vben
- Mvc版本(layui): https://github.com/i66soft/osharp-layui
- Blazor版本(BootstrapBlazor): https://github.com/i66soft/osharp-blazor
框架的工程組織結構如下:
框架特性
- 模塊化的組件系統設計
- 自動化的依賴注入注冊機制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
Blog.Core 開箱即用的企業級前后端分離【 .NET Core5.0 Api + Vue 2.x + RBAC】權限框架。由國內微軟MVP“老張的哲學”出品。相比ABP Zero,Blog.Core 更為短小精干,非常適合管理系統以及互聯網項目的開發。
項目單體部署,並發在400~500,一切正常(不保證自己的各種錯誤寫法)。如果搭配負載,效果更好。已被多家公司所使用:點擊查看列表。
開源地址:https://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:https://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 開發,也是基於模塊化思想設計。源碼如下:https://github.com/iamoldli/NetModular.UI
- 前端皮膚:前端支持自定義皮膚功能,框架本身提供了兩套皮膚,其中一套已經內置作為默認皮膚,另外一套需要單獨安裝,源碼如下:https://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:https://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()
即可完成配置 - 極速開發:內置豐富的企業應用開發功能
- 極少依賴:框架只依賴兩個第三方包
- 極其靈活:輕松面對多變復雜的需求
- 極易維護:采用獨特的架構思想,只為長久維護設計
- 完整文檔:提供完善的開發文檔
文檔地址
開源地址
- Gitee:https://gitee.com/dotnetchina/Furion
- GitHub:https://github.com/monksoul/Furion
- Docker:https://hub.docker.com/r/monksoul/furion
- Nuget:https://www.nuget.org/packages/Furion
系列教程
- Furion 視頻教程:https://space.bilibili.com/695987967
- Furion 使用例子:https://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)
作者的其他優秀開源項目
- https://gitee.com/monksoul
- https://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
開源地址:https://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提供了用於構建用戶界面的服務器端和客戶端框架。
開源地址:https://github.com/dotnetcore/WTM
中文文檔:http://wtmdoc.walkingtec.cn/

本計划采用年審制,每年重新審核項目是否滿足以上條件。
- GVP 計划參與者並不是 Gitee 平台的官方人員,其觀點和行為,僅代表個人,不代表 Gitee 平台的官方立場。
- GVP 計划參與者不得有違反國家規定、Gitee 網站規則的行為,否則將取消 GVP 計划參與者身份。
- 參與 GVP 計划后,不得大量發布廣告或軟文,否則 Gitee 平台有權永久取消 GVP 計划參與者身份。
- 申請參與 GVP 計划的項目不得惡意刷數,一經發現,Gitee 平台有權永久取消 GVP 計划參與者身份,並進行全平台通報。
- GVP 項目不允許刪除,不允許轉為私有項目。
歡迎關注作者頭條號 張傳寧IT講堂,獲取更多IT文章、視頻等優質內容。
個人作品
1、BIMFace.Community.SDK.NET
開源地址:https://gitee.com/NAlps/BIMFace.SDK
系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html
系列視頻:https://www.cnblogs.com/SavionZhang/p/14258393.html
2、ZCN.NET.Common
技術棧
1、Visual Studio、.NET:C#、.NET5、.NET6、.NET Core、MVC、ASP.NET Core、Web API、RESTful API、gRPC、SignalR
2、jQuery、Vue.js、Bootstrap
3、數據庫:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、SequoiaDB 、Redis、MongoDB、ElasticSearch、TiDB、達夢DM、人大金倉、 神通、南大通用 GBase、華為 GaussDB 、騰訊 TDSQL 、阿里 PolarDB、螞蟻金服 OceanBase、東軟 OpenBASE、浪潮雲溪數據庫 ZNBase
4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分庫分表
5、架構:領域驅動設計 DDD、ABP
6、環境:跨平台、Windows、Linux(CentOS、中標麒麟、統信UOS、深度Linux)、maxOS、IIS、Nginx、
7、移動App:Android、IOS、HarmonyOS、微信、小程序、快應用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、mpvue、Smobiler
雲原生、CI/CD、DevOps、微服務、Docker、K8S;
Dapr、RabbitMQ、Kafka、分布式、大數據、高並發、負載均衡、中間件、RPC、ELK;
.NET + Docker + jenkins + Github + Harbor + K8S;
Python、Go。
出處:www.cnblogs.com/SavionZhang
作者:張傳寧 微軟MCP、系統架構設計師、系統集成項目管理工程師、科技部創新工程師。
專注於微軟.NET技術(.NET Core、Web、MVC、WinForm、WPF)、通用權限管理系統、工作流引擎、自動化項目(代碼)生成器、SOA 、DDD、 雲原生(Docker、微服務、DevOps、CI/CD);PDF、CAD、BIM 審圖等研究與應用。
多次參與電子政務、國家電網、圖書教育、生產制造等企業級大型項目研發與管理工作。
熟悉中小企業軟件開發過程:需求分析、架構設計、編碼測試、實施部署、項目管理。通過技術與管理幫助中小企業快速化實現互聯網技術全流程解決方案。
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
如有問題,可以通過郵件905442693@qq.com聯系。共同交流、互相學習。
如果您覺得文章對您有幫助,請點擊文章右下角【推薦】。您的鼓勵是作者持續創作的最大動力!