找回密码
 立即注册
首页 业界区 业界 .NET 9 + React 开发的企业级后台权限管理系统,文档齐 ...

.NET 9 + React 开发的企业级后台权限管理系统,文档齐全,轻松上手

豌笆 2025-7-9 12:04:56
前言

在数字化转型浪潮中,高效且安全的权限管理是后台系统的核心基石。传统方案或依赖臃肿的三方框架,或难以满足细粒度权限需求。
今天推荐一款完全独立开发、基于前沿技术栈开发的RBAC权限系统。它摒弃了现成Admin框架的束缚,以 ".NET 9 + React 18" 双引擎驱动,深度融合按钮级权限与数据权限控制,并原生支持多租户架构,为开发者与企业提供高可控性、易扩展的后台管理基座。
项目介绍

风汐管理系统一款开源的通用后台权限解决方案,由作者独立设计并实现,未使用任何第三方Admin框架。
其核心目标是为个人开发与企业提供一套高效、美观、易上手的管理系统基座。系统深度集成RBAC(基于角色的访问控制)模型,支持细粒度的按钮操作权限与数据范围权限,并内置多租户隔离机制,满足SaaS化部署需求。
项目采用严格挑选的稳定技术栈(.NET 9 + React 18),确保代码具有优秀的扩展性、可维护性与快速定制能力,在为.NET + React 技术生态贡献高质量实践范例。
1.jpeg

项目功能

风汐管理系统提供丰富的功能模块,涵盖了从用户认证到权限管理的各个方面:
角色管理:支持创建、编辑和删除角色,分配权限。
权限管理:提供细粒度的权限控制,支持按钮级别和数据级别权限。
菜单管理:允许管理员自定义系统菜单,配置显示顺序。
日志管理:记录用户的操作日志,便于审计和问题排查。
系统监控:查看在线用户,确保信息传达及时。
多租户支持:每个租户拥有独立的数据存储,互不影响。
项目特点

1、支持多租户:每个租户的数据相互隔离,确保数据安全。
2、按钮级别权限控制:精确控制用户对页面元素的操作权限。
3、简洁高效的用户界面:采用现代化设计语言,提升用户体验。
4、模块化的系统架构:各功能模块独立开发,便于维护和扩展。
5、可读性高代码结构:代码编写遵循最佳实践,易于理解和修改。
项目技术

风汐管理系统的技术栈选用了当前最为前沿和稳定的工具与框架,具体包括:

  • .NET Core:作为后端开发的基础框架,提供了强大的性能和安全性。
  • PostgreSQL:作为数据库管理系统,支持复杂查询和大数据量处理。
  • FreeSql:用于简化数据库操作,提供ORM支持。
  • Aop:面向切面编程,用于实现横切关注点的分离。
  • Redis:用于缓存和会话管理,提高系统响应速度。
  • EventBus:事件总线机制,方便异步通信和解耦。
  • AutoMapper:对象映射工具,简化数据转换过程。
  • Serilog:日志记录库,支持多种输出方式。
  • React:前端开发框架,支持组件化开发。
  • Ant Design:UI组件库,提供丰富的组件和样式。
  • Vite:前端构建工具,优化开发体验和生产性能。
  • Sass/SCSS:CSS预处理器,增强样式的复用性和可维护性。
项目代码

1、服务自动注册
实现了注册接口
实现ISingletonDependency将以单例注入
  1. public interface ISingletonDependency
  2. {
  3. }
复制代码
实现ITransientDependency将以瞬时注入
  1. public interface ITransientDependency
  2. {
  3. }
复制代码
实现IScopedDependency将以作用域注入
  1. public interface IScopedDependency
  2. {
  3. }
复制代码
类上标记依赖注入DenpendencyInjectAttribute
  1. /// <summary>
  2. /// 自动注入,标记此特性的类会被自动注册到依赖注入容器中 <br/>
  3. /// 如果AsSelf为false且Interfaces为空,则不会注册
  4. /// </summary>
  5. [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
  6. public sealed class DenpendencyInjectAttribute : Attribute
  7. {
  8.     /// <summary>
  9.     /// 注册方式
  10.     /// </summary>
  11.     public DenpendencyType Way { get; init; } = DenpendencyType.Scoped;
  12.     /// <summary>
  13.     /// 是否将当前类作为自身类型注入
  14.     /// </summary>
  15.     public bool AsSelf { get; init; }
  16.     /// <summary>
  17.     /// 实现的接口类型,如果不为空且AsSelf=false,则会将当前类注册为这些接口的实现;
  18.     /// </summary>
  19.     public Type[]? Interfaces { get; init; }
  20. }
复制代码
2、当前租户
  1. public interface ICurrentTenant
  2. {
  3.     string? TenantId { get; }
  4. }
复制代码
注入ICurrentTenant接口,在启用多租户功能时,并且请求头中含X-Tenant时;多租户中间件会自动解析X-Tenant的值到TenantId
3、如何启用多租户
在MultiTenancyConsts.cs文件中将IsEnabled改为false
  1. public static class MultiTenancyConsts
  2. {
  3.     /// <summary>
  4.     /// 是否启用多租户(不做成配置,常量硬编码更好)
  5.     /// </summary>
  6.     public const bool IsEnabled = true;
  7. }
复制代码
为什么使用作者常量硬编码更好?因为一个系统从开始就必须考虑好是否需要多租户模式。
项目预览

1、在线预览地址:https://crackerwork.cn
2、预览账号admin/123qwe* (请注意,预览模式下屏蔽了非GET请求,仅供查看演示)
3、项目文档
2.jpeg

项目效果

系统通过简洁高效的用户界面和强大的功能模块,极大地提升了用户的操作体验。
以下是部分系统截图展示:
1、系统登录
3.jpeg

2、系统首页
4.jpeg

3、组织架构
5.jpeg

4、系统管理
6.jpeg

5、数据字典
7.jpeg

6、系统监控
8.jpeg

项目源码

GitHub: https://github.com/fancyxnet/fancyx-admin
Gitee: https://gitee.com/fancyxnet/fancyx-admin
大家可以通过克隆仓库获取源码,并根据自己的需求进行二次开发或定制化修改。
总结

风汐管理系统(fancyx-admin)代表了.NET全栈开发的深度实践。它以完全独立开发之姿,融合.NET 9的高性能与React 18的现代化交互,打造出一套功能完备(RBAC+多租户)、体验卓越、扩展自由的权限管理基座。
其核心价值不仅在于提供按钮级与数据级的精细权限控制,更在于通过模块化设计与详实文档,为大家提供了清晰的技术蓝图与定制自由。
关键词
.NET9、React18、RBAC、权限管理、多租户、PostgreSQL、FreeSql、Ant Design、Vite、Sass/SCSS、独立开发、按钮级权限、数据权限
最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!
9.png


来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册