.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目

2023-06-26,,

系列目录     【已更新最新开发文章,点击查看详细】

企业管理系统一般包含后台管理UI、组织机构管理、权限管理、日志、数据访问、表单、工作流等常用必备功能。下面收集的几款优秀开源的管理系统,值得大家入门学习。

8、基于 ASP.NET Core 构建可热插拔的插件化系统

插件化架构,又称微核架构,指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现的架构。

插件化架构一般有两个核心概念:

内核
插件

内核通常只包含系统运行的最小功能,以及定义插件必须符合的接口;插件则是互相独立的模块,一般只包含单一的功能。

插件化技术并不是一个新兴的技术,早期很多基于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

7、OSharp

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

6、Blog.Core 【国产】

Blog.Core 开箱即用的企业级前后端分离【 .NET Core5.0 Api + Vue 2.x + RBAC】权限框架。由国内微软MVP“老张的哲学”出品。相比ABP Zero,Blog.Core 更为短小精干,非常适合管理系统以及互联网项目的开发。

项目单体部署,并发在400~500,一切正常(不保证自己的各种错误写法)。如果搭配负载,效果更好。已被多家公司所使用:点击查看列表。

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

开源地址: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 实现认证中心;
5、NetModular【国产】

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)模块代码,其它模块请点击以下链接查看。

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中实施。核心模块包括:组织机构、角色用户、权限授权、表单设计、工作流等。它的架构精良易于扩展,是中小企业的首选

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

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

3、Furion【国产,入选GVP】

Furion项目的作者【富察宏磊】是一位90后的优秀IT人才。

Furioin 是一款基于.NET5技术开发的功能强大、性能极致、文档完善、示例丰富、极易入门、快速开发、极易维护的Web框架。

功能模块

框架特点

全新面貌:基于 .NET 5 平台,没有历史包袱
极易入门:只需要一个 Inject() 即可完成配置
极速开发:内置丰富的企业应用开发功能
极少依赖:框架只依赖两个第三方包
极其灵活:轻松面对多变复杂的需求
极易维护:采用独特的架构思想,只为长久维护设计
完整文档:提供完善的开发文档

文档地址

国内文档:https://dotnetchina.gitee.io/furion
国外文档:https://furion.pro

开源地址

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

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

开源地址: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/

GVP Gittee 最有价值开源项目

本计划采用年审制,每年重新审核项目是否满足以上条件。

- GVP 计划参与者并不是 Gitee 平台的官方人员,其观点和行为,仅代表个人,不代表 Gitee 平台的官方立场。

- GVP 计划参与者不得有违反国家规定、Gitee 网站规则的行为,否则将取消 GVP 计划参与者身份。

- 参与 GVP 计划后,不得大量发布广告或软文,否则 Gitee 平台有权永久取消 GVP 计划参与者身份。

- 申请参与 GVP 计划的项目不得恶意刷数,一经发现,Gitee 平台有权永久取消 GVP 计划参与者身份,并进行全平台通报。

- GVP 项目不允许删除,不允许转为私有项目。

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

系列目录     【已更新最新开发文章,点击查看详细】

.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目的相关教程结束。

《.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目.doc》

下载本文的Word格式文档,以方便收藏与打印。