当前位置 博文首页 > 张传宁:.NET Core/.NET5/.NET6 开源项目汇总5:权限管理系统项

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

    作者:张传宁 时间:2021-06-24 18:35

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

    企业管理系统一般包含后台管理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