# RuYiAdmin **Repository Path**: pang-mingjun/RuYiAdmin ## Basic Information - **Project Name**: RuYiAdmin - **Description**: 如意Admin,好框架,用心造。 匠心独具,成就一代经典。 品质优雅,注定恒久流传。 - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1313 - **Forks**: 344 - **Created**: 2021-03-30 - **Last Updated**: 2025-06-20 ## Categories & Tags **Categories**: backend **Tags**: None ## README # RuYiAdmin ### 项目简介 RuYiAdmin 是一款基于 .NET 9 构建的企业级 WEB RBAC(基于角色的访问控制)统一安全管理平台解决方案,具有强大的功能和灵活的架构设计,适用于快速开发高性能的企业级应用,具有低代码、跨平台、分布式、多线程和高性能等特色。 ### 主要特点 1. 前后端分离 RuYiAdmin 采用前后端分离架构,前端基于VueElementAdmin,使用 Vue2 和 Element UI,后端基于 .NET 9 构建。这种架构允许前端和后端独立开发,提高开发效率。 2. 代码自动生成 支持一键生成视图层、控制层、服务层、仓储层、领域层和 DTO 业务模型层代码,极大地缩短了开发周期。 3. 多数据库支持 支持多种关系型数据库(如 MySQL、SqlServer、SQLite、Oracle、PostgreSQL、OpenGauss、Kingbase、DM)和非关系型数据库(如 Redis、MongoDB、Elasticsearch、Meilisearch),同时支持动态数据源,以满足不同企业的需求。 4. 分布式架构 提供分布式事务解决方案(CAP)、事件总线(EventBus)、服务发现、健康检查、熔断和降级机制,支持高并发和微服务架构。 5. 智慧大屏支持 集成了 VForm 表单设计器,支持 PC、Pad 和手机 H5 页面表单设计与预览,适合多设备适配的企业应用。 6. 安全性 支持4A认证,满足等保三级要求,支持防 SQL 注入、防 Token 劫持与接口渗透,集成RSA、AES及国产 SM 加密算法,支持全链路HTTPS加密传输协议,确保企业级应用的安全性。 7. 其他功能 • 支持网关,提供上下游路由和负载策略的便捷配置。 • 支持统一异常处理、RateLimit 分布式限流、MiniProfiler 接口性能分析。 • 集成携程 Apollo 配置中心,提供便捷的配置管理。 ### 适用场景 • 企业级应用开发:快速构建高性能、分布式的企业级后台管理系统。 • 多设备适配需求:支持 PC、Pad 和移动端的智慧大屏设计。 • 高并发和微服务架构:支持分布式事务和事件总线,适合需要高并发和快速响应的业务。 ### 开源信息 RuYiAdmin 使用 Apache-2.0 开源协议,开发者可以从 Gitee 克隆源代码,其开源特性使得开发者可以自由使用和贡献。 ### 开发体验 • 快速上手:通过代码自动生成和模块化设计,开发者可以快速搭建业务模块。 • 灵活配置:支持多种数据库和消息总线(如 ActiveMQ、RabbitMQ、Kafka、Redis),适应不同企业的技术栈。 ### 项目小结 • RuYiAdmin 是一个现代化、多功能的企业级开发框架,凭借其强大的技术特性和灵活的架构设计,为企业提供了高效、安全且易于管理的开发解决方案。它不仅满足了企业级应用的高性能需求,还通过低代码和代码生成能力显著提升了开发效率。 • RuYiAdmin 适用于需要快速搭建后台管理系统的场景,尤其适合大中小型企业的内部管理系统、CMS 系统、ERP 系统等。 • RuYiAdmin 是一个功能强大且易于扩展的后台管理系统框架,适合有丰富开发经验的团队使用。 ### 系统设计思想 ![输入图片说明](images/1645595966(1).jpg) ### 软件架构图 ![输入图片说明](images/1650446074(1).jpg) ### 项目总体特色分解 ``` 前端框架 使用Vue2,UI采用Element UI,框架使用Vue Element Admin 对于通用API做了统一性的封装 对于BasePage界面与通用方法做了较为全面的封装 支持锁屏、水印 支持按钮、视图的可见性控制 支持按钮、视图级别的颗粒授权 支持权限下放 支持智慧大屏幕 支持视图层业务多语 支持VForm表单设计器,支持PC、Pad、手机H5页面表单设计与预览 支持敏感数据通信加密 后端框架 采用.NET8、支持跨平台 支持Linux Docker 支持系统集成、支持统一认证(非同源用户群组) 采用ASP.NET Core Web API,既可用于构建独立服务,也可以用于支撑前端业务 使用Swagger作为Web API的管理工具,为接口与Model做了精细的注释 支持API路由白名单、支持Request Headers验证自由配置 使用JwtSecurity和Token验证及用户鉴权三重方式防护系统接口,防止API滥调 封装了统一的数据返回格式 封装了强大的查询条件,支持前端的自定义查询 支持菜单多语 支持一键生成多个业务的视图层、控制层、服务层、仓储层、领域层代码 支持在线预览系统帮助 支持配置信息热加载、热更新 支持用户行为的AOP自动监控 支持用户行为的AOP自动鉴权 使用AutoFac,实现依赖自动注入 支持log4net,同时支持控制台日志输出 支持Quartz作业与分布式定时任务的管理与调度 ORM采用SqlSugar,支持多种数据库、支持多租户 实现了灵活高效的SQL访问底层,支持SQL热加载、热更新, 支持SQL与代码分离 支持一主两从的读写分离 支持乐观锁并发控制 支持大数据写入、更新 支持海量数据写入、更新 支持数据的逻辑与物理删除 封装了统一的基类模型、支持个性化Excel导出,支持Excel导入常规校验 支持相对路径、绝对路径或NAS存储、Minio 支持AutoMapper,实现POCO与DTO自动转化 支持实时消息 支持禁用用户实时踢出系统 支持线程池、多任务 支持服务熔断与降级 支持熔断邮件告警 支持Consul服务治理与健康检查 支持并发限制 支持RateLimit分布式限流 支持统一异常处理 防止SQL注入 防止Token劫持与接口渗透 接口幂等性、防止请求重复提交。 支持OCR 支持MongoDB 支持ES全文检索 支持Apollo配置中心 支持接口性能分析 支持分布式事务Cap和EventBus 支持FTP、FXP、FTPS、SFTP 支持国产SM加密算法及国际通用Rsa与Aes高级加密算法 Gateway网关支持ocelot 全链路支持https加密传输协议 数据库 构建了可视化的ER关系模型 关系库支持MySql、SqlServer、SQLite、Oracle、PostgreSQL、OpenGauss、Kingbase、DM数据库 提供一键执行的数据库初始化脚本 支持自动构建数据库 非关系型数据库支持Redis、MongoDB、Elasticsearch、Meilisearch 中间件 支持Redis高速缓存,支持哨兵模式集群 集成了ActiveMQ,支持Master Slave和Broker Cluster结合的MQ集群 消息总线支持ActiveMQ、RabbitMQ、Kafka、Redis ``` ### 安装教程 1. 安装Redis、MongoDB、Elasticsearch、Minio、kkFileView。 1. 安装ActiveMQ,支持RabbitMQ。 1. 安装Mysql数据库,支持一主两从、读写分离。作者使用的是mysql8,如果搭建基于mycat的读写分离集群,建议使用mysql5.7。支持自动构建数据库,修改AutomaticallyBuildDatabase的值为true,修改SqlScriptPath脚本路径,系统启动后将自动构建数据库。系统同时支持SqlServer(2019)、Oracle(19c)、PostgreSQL(14)、SQLite、OpenGauss、Kingbase、DM数据库。审计日志默认进入非关系库MongoDB。 1. 安装NodeJs。 1. 克隆代码。 1. 初始化数据库。结构与数据位于webapi/RuYiAdminData/DataModel、DataStructrue下。如果使用低版本mysql,可能需要修改数据库初始化脚本。 1. 修改配置。修改后端appsettings.json中Redis、ActiveMQ、Mysql、MongoDB数据库连接串。前端mq配置位于src/constants/active-mq.js。 1. 系统前端。前端管理目录位于webvue/wwwroot。推荐使用Visual Studio Code开源软件编辑。前端的使用可以参看Vue Element Admin官网。 1. 系统后端。后端采用Visual Studio 2022开发工具,请使用最新版本。右键解决方案,设置多个启动项目,同时启动Gateway和WebApi。 ### 系统截图 1. 星空粒子登录页(默认密码:123456) ![输入图片说明](images/11111.png) ![输入图片说明](images/denglu.jpg) 1. 系统首页 ![输入图片说明](images/3333.png) ![输入图片说明](images/1657429883534.jpg) ![输入图片说明](images/1657429935025.jpg) 1. 机构管理 ![输入图片说明](images/1657430065851.jpg) 1. 用户管理 ![输入图片说明](images/1657430137931.jpg) 1. 菜单管理 ![输入图片说明](images/1657430164105.jpg) 1. 角色管理 ![输入图片说明](images/1657430190368.jpg) 1. 数据字典 ![输入图片说明](images/1657430217440.jpg) 1. 审计日志 ![输入图片说明](images/1657430249259.jpg) ![输入图片说明](images/1657430283777.jpg) 1. 导入配置及数据导入合法性校验 ![输入图片说明](images/1657430305540.jpg) ![输入图片说明](images/1657430320485.jpg) ![输入图片说明](https://images.gitee.com/uploads/images/2021/0602/170515_26e80400_8819418.png "屏幕截图.png") ![输入图片说明](https://images.gitee.com/uploads/images/2021/0602/170401_4b597be0_8819418.png "屏幕截图.png") 1. 在线任务调度 ![输入图片说明](images/1657430389298.jpg) 1. 系统多语管理 ![输入图片说明](images/1657430410128.jpg) 1. 行政区域管理 ![输入图片说明](images/1657430444850.jpg) 1. 通知公告管理 ![输入图片说明](images/1657430470796.jpg) ![输入图片说明](images/1657430507536.jpg) ![输入图片说明](images/1657430539650.jpg) ![输入图片说明](images/1657430557654.jpg) 1. 在线用户管理 ![输入图片说明](images/1657431300325.jpg) 1. 服务器监控 ![输入图片说明](images/1657431346248.jpg) 1. 系统文件统计 ![输入图片说明](images/wjtj.jpg) 1. 接口性能分析 ![输入图片说明](images/jkxnfx.jpg) 1. 系统手册 ![输入图片说明](images/1657431381705.jpg) 1. 表单设计器 ![输入图片说明](images/1657431440037.jpg) 1. 代码生成器 ![输入图片说明](images/1657431467054.jpg) ![输入图片说明](images/1657432107996.jpg) ![输入图片说明](images/%7DWY66F83%5BJ5S6WUA~%7DP%5DV2S.png) 1. 系统WebAPI ![输入图片说明](images/1657431493528.jpg) 1. 系统数据库设计文档 ![输入图片说明](images/sjksjwd.jpg) 1. 智慧大屏幕 ![输入图片说明](images/QQ%E5%9B%BE%E7%89%8720220613135250.png) 1. swagger ![输入图片说明](images/1657431528530.jpg) ![输入图片说明](https://images.gitee.com/uploads/images/2021/0429/115235_fd32f272_8819418.png "屏幕截图.png") ```