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

时间:2023-06-10 19:22:50

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

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

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

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

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

  • 内核
  • 插件

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

插件化技术并不是一个新兴的技术,早期很多基于COM开发的WIN32程序其实都是插件化的系统。在.NET/.NET Core中,也有许多插件化的实现方案,例如,开源框架ABP, 开源的内容管理系统DotNetNuke, 电子商务框架NopCommerce。

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

《.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 框架更易于应用到实际项目开发中。

相关示例项目:

框架的工程组织结构如下:

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

框架特性

  • 模块化的组件系统设计
  • 自动化的依赖注入注册机制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,一切正常(不保证自己的各种错误写法)。如果搭配负载,效果更好。已被多家公司所使用:点击查看列表

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

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

开源地址:https://github.com/anjoy8/Blog.Core

系统架构图

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

框架模块:

  • 采用仓储+服务+接口的形式封装框架;
  • 异步 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/.NET5/.NET6 开源项目汇总5:权限管理系统项目

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

  • 后端技术:.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)模块代码,其它模块请点击以下链接查看。

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

4、OpenAuth.Core【国产,入选GVP】
.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目

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

强大的工作流引擎

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

项目分为3个版本:

  • OpenAuth.Net开源版

采用.NET 4.5/.NET 5 MVC + LayUI 前后端开发模式,更适合传统 .NET Framework 开发者使用,前端深度使用 LayUI 界面。

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

  • OpenAuth.Core开源版

采用.NET Core MVC + LayUI 前后端开发模式,全新.NET Core 跨平台体验。在OpenAuth.NET基础上进一步优化代码结构。

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

  • OpenAuth.Pro企业版

采用WebAPI+Vue的前后端完全分离模式,后端基于OpenAuth.Core WebAPI接口。前端SPA单页面模式,基于Vue全家桶。

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

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

3、Furion【国产,入选GVP】

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

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

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

功能模块

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

框架特点

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

作者的其他优秀开源项目

  • https://gitee.com/monksoul
  • https://github.com/monksoul

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

2、BootstrapAdmin【国产,入选GVP】

本系统可以用于所有的 Web 应用程序,目前版本已经升级到 NET CORE 具备跨平台能力。数据库方面同时支持多种数据库,详细列表见后面数据库的详细列表,切换数据源仅需更改配置文件无需重启应用程序,配置简单灵活。UI 前端使用流行的 Bootstrap 框架布局对移动设备的兼容性非常好,自适应目前市场几乎所有终端设备。本系统还具备单一后台支持多前台的特色,提供 单点登录(SSO) 的能力。

使用 NET Core + Bootstrap + PetaPoco + HTML 5 + jQuery 构建的后台管理平台

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

特别说明

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/

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

GVP Gittee 最有价值开源项目
.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项目

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

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

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

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

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

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

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