.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 项目不允许删除,不允许转为私有项目。
.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目的更多相关文章
- .NET Core/.NET5/.NET6 开源项目汇总4:CMS、Blog项目
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- .NET Core/.NET5/.NET6 开源项目汇总6:框架与架构设计(DDD、云原生/微服务/容器/DevOps/CICD等)项目
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- .NET Core/.NET5/.NET6 开源项目汇总9:客户端跨平台UI框架
系列目录 [已更新最新开发文章,点击查看详细] .NET Core 实现了跨平台,支持在 Windwos.Linux.macOS上开发与部署,但是也仅限于Web应用程序.对于Windows桌面 ...
- .NET Core/.NET5/.NET6 开源项目汇总10:实用工具
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- .NET Core/.NET5/.NET6 开源项目汇总1:常用必备组件
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- .NET Core/.NET5/.NET6 开源项目汇总2:任务调度组件
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- .NET Core/.NET5/.NET6 开源项目汇总3:工作流组件
系列目录 [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...
- .NET Core/.NET5/.NET6 开源项目汇总7:电商项目
系列目录 [已更新最新开发文章,点击查看详细] 谈起.NET/.NET Core的企业级实战案例,电商项目是典型代表.其中高负载.高并发.高可用性等问题是考核.NET技术性能的重要指标.下面整 ...
- .NET Core/.NET5/.NET6 开源项目汇总8:Blazor项目
系列目录 [已更新最新开发文章,点击查看详细] Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建信息丰富的交互式 U ...
随机推荐
- 【近取 key】Alpha 阶段任务分配
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 alpha阶段初始任务分配 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉 ...
- 24.Collection集合
1.Collection集合 1.1数组和集合的区别[理解] 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的 数组可以存基本数据类型和引用数据类型 集合只能存引用 ...
- Shell 脚本重启项目
每次发打包好项目后都需要手动重启项目,写个Shell脚本一键重启项目 Shell 脚本 #!/bin/bash while getopts "n:p:" arg do case $ ...
- Tomcat的使用和配置
Tomcat的使用 安装 在tomcat官网找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可 目录介绍 bin : 专门用来存放Tomcat服务器的可执行文件 con ...
- istio部署问题Q&A
端口绑定无权限 创建Gateway,提示绑定端口无权限. 2020-12-27T12:25:30.974288Z warning envoy config gRPC config for type.g ...
- [Python] 微信公众号开发 Python3
搭建服务 开通一个阿里云ecs,安装python3及需要的包(参考下方官方文档) 将py文件保存在ecs上,运行 在本地访问阿里云的IP地址 能完成这步说明网络没问题 server.py 1 # -* ...
- SimpleSelectionSort
简单选择排序 <script type="text/javascript"> var obj={ data:[0,3,1,5,7,4,8,9,5], length:8 ...
- jmeter 非GUI模式下传参
为什么要使用非GUI模式?--因为GUI模式下运行的时候消耗的内存比非GUI模式大,会使得压力测试的结果不准确. 根据参数类型分为两种:jmeter.properties和system.propert ...
- Hive 配置项详解
hive.ddl.output.format: hive的ddl语句的输出格式, 默认是text,纯文本,还有json格式,这个是0.90以后才出的新配置: hive.exec.script.wrap ...
- S7 Linux用户管理及用户信息查询命令
7.1 useradd:创建用户 7.2-5 usermod 7.6 passwd:修改用户密码 7.7-9 chage.chpasswd.su 7.10-11 visudo.sudo 7.12-7. ...