Apache License 2.0

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

Admin.NET 深度技术分析

项目背景与痛点

在企业级应用开发中,权限开发框架是必不可少的部分。它不仅帮助开发者高效地设计并维护权限系统,还让系统具备必要的安全性和扩展性。然而,市面上许多权限框架往往过于复杂,让开发者感到困扰。Admin.NET 恰好解决了这一痛点,通过模块插件式的设计和清晰的代码结构,它使得开发者可以快速上手并进行定制开发。面对快速变化的技术需求和业务需求,Admin.NET 提供了一个灵活且易扩展的解决方案。

核心技术揭秘

Admin.NET 是一个基于 .NET 8/10 的通用权限开发框架,其核心模块 Furion 和 SqlSugar 提供了强大的后端支撑,而前端则采用 Vue3 结合 Element-Plus。以下将从架构层面深入解析 Admin.NET 的关键技术栈及设计原理。

技术栈与设计模式

  1. 后端框架:Admin.NET 依托于 .NET 8/10 构建,通过 Furion 框架整合了多种中间件,实现了服务发现、缓存管理、多租户支持等多种企业级开发必备功能。
  2. 数据访问层:使用 SqlSugar 作为 ORM 框架,简化数据库操作,提高数据访问效率。
  3. 前端框架:采用 Vue3 结合 Element-Plus,提供了动态 API、远程请求、通信等现代前端开发技术。
  4. 设计模式:框架内部广泛采用了插件式设计模式,确保模块之间的松耦合性,从而达到高度的扩展性和灵活性。

数据流示例

以下简单示例展示了 Admin.NET 中一个典型的数据流结构。

graph TD A[用户请求] --> B{"参数校验"} B -->|"校验成功"| C[业务逻辑处理] B -->|"校验失败"| D[返回错误信息] C --> E[结果到达]

功能亮点与差异

核心模块与功能

Admin.NET 集成了多租户管理、事件总线、数据校验、身份验证与授权等热门企业级功能,其独特之处在于插件式设计,这意味着可以根据不同业务场景灵活定制并扩展功能。无论是微服务架构下的服务水平管理,还是需要复杂数据流的支持,Admin.NET 都能轻松应对。

独特设计

与同类竞品相比,Admin.NET 最显著的优势在于其模块插件式的设计理念与丰富的集成能力,它使企业无需从零开始构建复杂功能模块,从而提升了开发效率与代码质量。

应用场景与落地建议

Admin.NET 适用于企业级应用的快速开发与迭代,尤其是在现有业务基础上迅速扩展现有功能的情形下,其高度的可插拔性和模块化设计将大显身手。需要注意的是,在实际部署与维护阶段,应仔细配置多租户策略与安全设置,以确保系统的稳定与可靠。

综合评价

优点

  • 模块插件化:增强了系统的可扩展性,便于快速集成新功能。
  • 技术堆栈丰富:集成了多租户、数据缓存、鉴权等企业级必备特性。
  • 易用性高:提供了清晰的文档与例程,开发者易于上手。

缺点

  • 学习曲线:尽管文档详尽,但初学者仍可能需要一段时间熟悉整体架构。
  • 性能优化:在处理大规模并发请求时,性能调优仍需开发者自行探索。

总体而言,Admin.NET 提供了一个强大且灵活的企业级权限开发框架,适合作为企业级应用开发的首选。

简要分析

热度分
707
价值分
296
活跃状态
活跃

语言占比

Batchfile
C#
CSS
Dockerfile
HTML
JavaScript
PowerShell
SCSS
Shell
TypeScript
Vue

Release

README

logo

站在巨人肩膀上的 .NET 通用权限开发框架

star fork GitHub license

🎁框架介绍

Admin.NET 是基于 .NET8/10 (Furion/SqlSugar) 实现的通用权限开发框架,前端采用 Vue3+Element-plus+Vite5,整合众多优秀技术和框架,模块插件式开发。集成多租户、缓存、数据校验、鉴权、事件总线、动态API、通讯、远程请求、任务调度、打印等众多黑科技。代码结构简单清晰,注释详尽,易于上手与二次开发,即便是复杂业务逻辑也能迅速实现,真正实现“开箱即用”。

面向中小企业快速开发平台框架,框架采用主流技术开发设计,前后端分离架构模式。完美适配国产化软硬件环境,支持国产中间件、国产数据库、麒麟操作系统、Windows、Linux部署使用;集成国密加解密插件,使用SM2、SM3、SM4等国密算法进行签名、数据完整性保护;软件层面全面遵循等级保护测评要求,完全符合等保、密评要求。

超高人气的框架(Furion)配合高性能超简单的ORM(SqlSugar)加持,阅历痛点,相见恨晚!让 .NET 开发更简单,更通用,更流行!

🍁说明

  1. 支持各种数据库,后台配置文件自行修改(自动生成数据库及种子数据)
  2. 前端运行步骤:1、安装依赖pnpm install 2、运行pnpm run dev 3、打包pnpm run build
  3. QQ交流群1:87333204 QQ交流群2:252381476
  4. 演示环境1:https://demo.adminnet.top 账号:superAdmin.NET 密码:Admin.NET++010101
  5. GitHub 镜像地址 Gitee 镜像地址 GitCode 镜像地址
  6. 在线文档 https://adminnet.top/

📙开发流程

1. 建议每个应用系统单独创建一个工程(Admin.NET.Application层只是示例),单独设置各项配置,引用Admin.NET.Core层(非必须不改工程名)

2. Web层引用新建的应用层工程即可(所有应用系统一个解决方案显示一个后台一套代码搞定,可以自由切换不同应用层)

# 可以随主仓库升级而升级避免冲突,原则上接口、服务、控制器合并模式不影响自建应用层发挥与使用。若必须修改或补充主框架,也欢迎PR!

🍎效果截图

🍖内置功能

  1. 主控面板:控制台页面,可进行工作台,分析页,统计等功能的展示。
  2. 用户管理:对企业用户和系统管理员用户的维护,可绑定用户职务,机构,角色,数据权限等。
  3. 机构管理:公司组织架构维护,支持多层级结构的树形结构。
  4. 职位管理:用户职务管理,职务可作为用户的一个标签。
  5. 菜单管理:配置系统菜单,操作权限,按钮权限标识等,包括目录、菜单、按钮。
  6. 角色管理:角色绑定菜单后,可限制相关角色的人员登录系统的功能范围。角色也可以绑定数据授权范围。
  7. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  8. 访问日志:用户的登录和退出日志的查看和管理。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 服务监控:服务器的运行状态,CPU、内存、网络等信息数据的查看。
  11. 在线用户:当前系统在线用户的查看,包括强制下线。基于 SignalR 实现。
  12. 公告管理:系统通知公告信息发布维护,使用 SignalR 实现对用户实时通知。
  13. 文件管理:文件的上传下载查看等操作,文件可使用本地存储,阿里云oss、腾讯cos等接入,支持拓展。
  14. 任务调度:采用 Sundial,.NET 功能齐全的开源分布式作业调度系统。
  15. 系统配置:系统运行的参数的维护,参数的配置与系统运行机制息息相关。
  16. 邮件短信:发送邮件功能、发送短信功能。
  17. 系统接口:使用 Swagger 生成相关 api 接口文档。支持 Knife4jUI 皮肤。
  18. 代码生成:可以一键生成前后端代码,自定义配置前端展示控件,让开发更快捷高效。
  19. 在线构建器:拖动表单元素生成相应的 VUE 代码(支持vue3)。
  20. 对接微信:对接微信小程序开发,包括微信支付。
  21. 导入导出:采用 Magicodes.IE 支持文件导入导出,支持根据H5模板生成PDF等报告文件。
  22. 限流控制:采用 AspNetCoreRateLimit 组件实现对接口访问限制。
  23. ES 日志:通过 NEST 组件实现日志存取到 Elasticsearch 日志系统。
  24. 开放授权:支持OAuth 2.0开放标准授权登录,比如微信。
  25. APIJSON:适配腾讯APIJSON协议,支持后端0代码,使用文档。
  26. 数据库视图:基于SqlSugar生成查询SQL + 表实体维护视图,可维护性更强。

🎀捐赠支持

如果对您有帮助,请点击右上角⭐Star关注或扫码捐赠,感谢支持开源!

💐特别鸣谢

评论

暂无评论