.NET Core/.NET5/.NET6 開源項目匯總5:許可權管理系統項目

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

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

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

插件化架構一般有兩個核心概念:

  • 內核
  • 插件

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

插件化技術並不是一個新興的技術,早期很多基於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

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文檔系統
    • 功能許可權授權流程
    • 功能許可權驗證流程
    • 數據許可權授權流程
    • 數據許可權驗證流程
  • 程式碼生成器

文檔中心 //docs.osharp.org/quick/start/

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

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

Bilibili://space.bilibili.com/387802716

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

6、Blog.Core 【國產】

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

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

官方文檔://apk.neters.club/.doc/

開源地址://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 實現認證中心;
5、NetModular【國產】

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)模組程式碼,其它模組請點擊以下鏈接查看。

4、OpenAuth.Core【國產,入選GVP】

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中實施。核心模組包括:組織機構、角色用戶、許可權授權、表單設計、工作流等。它的架構精良易於擴展,是中小企業的首選

官網://www.openauth.me/

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全家桶。

3、Furion【國產,入選GVP】

Furion項目的作者【富察宏磊】是一位90後的優秀IT人才。

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

功能模組

框架特點

  • 全新面貌:基於 .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)

作者的其他優秀開源項目

  • //gitee.com/monksoul
  • //github.com/monksoul

2、BootstrapAdmin【國產,入選GVP】

本系統可以用於所有的 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

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提供了用於構建用戶介面的伺服器端和客戶端框架。

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

中文文檔://wtmdoc.walkingtec.cn/

GVP Gittee 最有價值開源項目

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

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

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

– 參與 GVP 計劃後,不得大量發布廣告或軟文,否則 Gitee 平台有權永久取消 GVP 計劃參與者身份。

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

– GVP 項目不允許刪除,不允許轉為私有項目。

地址://gitee.com/gvp