一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

大家好,我是宝弟!

今天给大家推荐一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore。

YuebonCore分为SAAS版和单应用版:

SAAS版:支持共享数据库使用 tenantId 字段分离租户,也支持一个租户一个独立数据库。相比单版本将接口和实现进行分离项目实现解耦,新增了事件订阅等一系列功能。

单应用版:单体应用开发,架构较为简单,没有实现接口和实现的解耦。.

介绍

YuebonCore整合应用最新技术包括 Asp.NetCore、SqlSugar ORM、WebAPI、Swagger、Vue3 等,核心模块包括:组织机构、角色用户、权限授权、多系统、多应用管理、定时任务、业务单据编码规则、代码生成器等。它的架构易于扩展,规范了一套业务实现的代码结构与操作流程,使 YuebonCore 框架更易于应用到实际项目开发中。

特点

使用 MIT 协议,完整开源。采用主流框架,容易上手,简单易学,学习成本低。可完全实现二次开发、基本满足 80%项目需求。

代码生成器可以帮助解决.NET 项目 70%的重复工作,让开发更多关注业务逻辑。既能快速提高开发效率,帮助公司节省人力成本,同时又不失灵活性。

操作权限控制精密细致,对所有管理链接都进行权限验证,可控制到导航菜单、功能按钮。

数据权限(精细化数据权限控制,可以设置角色可以访问的数据范围,部门、工作组、公司数据)

常用类封装,日志、缓存、验证、字典、文件、邮件、,Excel。等等,目前兼容浏览器(IE11+、Chrome、Firefox、360 浏览器等)

适用范围:可以开发 OA、ERP、BPM、CRM、WMS、TMS、MIS、BI、电商平台后台、物流管理系统、快递管理系统、教务管理系统等各类管理软件。

使用的技术

前端技术

Vue 版前端技术栈 :基于 vue3、Vite、vuex、vue-router 、vue-cli 、axios 和 element-plus。

后端技术

核心框架:.Net7 + Web API +SqlSugar + AutoMapper + swagger

定时任务:Quartz.Net

系统安全:过滤器、Sql 注入、请求伪造

服务端验证:实体模型验证、自定义Validator

系统缓存:MemoryCache、Redis

日志管理:Log4net、登录日志、操作日志

工具类:NPOI、验证码

性能分析:MiniProfiler

内置功能

1、系统设置、2、用户管理、3、组织机构、4、角色管理、5、字典管理、6、功能模块、7、定时任务、8、代码生成、9、日志管理、10、多应用管理、11、多系统管理、12、业务单据编码规则、13、短信和邮件、14、支持租户模式、15、自定义主题风格、16、一主多从数据库读写分离

快速部署
1
 

运行后台

1、初始化数据库:数据库脚本在DataBase文件夹内,根据需要执行mssql vue版本mysql vue版本 文件夹里面的table表结构.sql初始化数据.sql脚本进行初始化数据库。

2、使用 Visual Studio 2022 打开项目,打开appsettings.json 修改连接字符串:

"DbConnections": [    {      "ConnId": "DefaultDb",      "Enabled": true,      "MasterDB": { //必须配置,远程服务器数据库        "ConnectionString": "server=127.0.0.1;database=ybnf1;user=root;CharSet=utf8;password=123456;port=3306;CharSet=utf8mb4;Allow User Variables=True;SslMode=none;AllowLoadLocalInfile=true;",        "DatabaseType": 0, //数据库类型        "Enabled": true //是否可用      },      "ReadDB": []    },    {      "ConnId": "LocalDB",      "Enabled": true,      "MasterDB": { //本地数据库        "ConnectionString": "server=localhost;Database=bonwcslocal1;Uid=root;Pwd=123456;Port=3306;CharSet=utf8mb4;Allow User Variables=True;SslMode=none;AllowLoadLocalInfile=true;",        "DatabaseType": 0, //数据库类型        "Enabled": true //是否可用      },      "ReadDB": [        {          "ConnectionString": "", //数据库连接字符          "HitRate": "", //从库执行访问权重,越大越先执行          "Enabled": true //是否可用        },        {          "ConnectionString": "", //数据库连接字符          "HitRate": "", //从库执行访问权重,越大越先执行          "Enabled": true //是否可用        }      ]    }  ],  "AppSetting": {    "SoftName": "YueBonCore Framework",    "CertificatedCompany": "Yuebon",    "ConStringEncrypt": "false",//连接字符串是否加密    "DefaultDataBase": "DefaultDb",//默认数据库连接    "IsDBReadWriteSeparate": false, //开启数据库读写分离    "QueryDBStrategy": "Random", //定义多个从数据库的访问策略  },

3、编译运行

2
 

运行前端

1、修改接口访问地址

在目录中 VueUI\src 修改 setting.js 文件中接口访问地址,将地址改为 webapi 项目启动访问地址。 注意你的接口采用 https 还是 http 方式。

apiHostUrl: 'http://localhost:54678/api/', // 基础接口apiSecurityUrl: 'http://localhost:54678/api/Security/', // 权限管理系统接口fileUrl: 'http://localhost:54678/', // 文件访问路径fileUploadUrl: 'http://localhost:54678/api/Files/Upload'// 文件上传路径

2、编译运行

#进入目录 cd VueUI# 安装依赖npm install# 强烈建议不要用直接使用 cnpm 安装npm install --registry=https://registry.npm.taobao.org# 本地开发 启动项目npm run dev

打开浏览器,输入:http://localhost:8085 (默认账户 admin/admin888) 若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功。

预览

一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

2、系统模块和功能管理 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

3、用户管理多角色 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

4、角色管理 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

5、应用管理 支持多个应用分别设置 appId 和密钥,适用于多个应用访问接口,每个应用采用 jwt 标准化 token 验证访问接口。 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

6、数据字典 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

7、多系统 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

8、日志管理 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

9、定时任务

一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

本地任务

一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

10、代码生成器 支持一键生成服务端代码和前端代码,复制粘贴简单快速高效实现功能 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

11、WebApi 集成 Swagger 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore 一款基于.Net7开发的支持多租户权限管理及快速开发框架YuebonCore

 资源获取方式 

https://gitee.com/yuebon/YuebonNetCore