Chet.Admin 来了!一套 .NET 10 + Vue3 的企业级权限系统

Chet.Admin 来了!一套 .NET 10 + Vue3 的企业级权限系统
《Chet.Admin 全栈实战》系列第 1 篇前言搭建中后台系统你是不是也遇到过这些痛点❌ 从零搭脚手架权限、认证、审计全要自己写❌ 找的开源项目要么太重要么功能不全❌ 前后端割裂联调踩坑无数❌ 文档跟不上代码看懂了也跑不起来Chet.Admin就是为解决这些问题而来的。这是什么Chet.Admin是一套采用前后端分离架构的企业级 RBAC基于角色的访问控制权限管理系统开箱即用。后端.NET 10 Clean Architecture DDD前端Vue 3 Vben Admin 5.7 Ant Design Vue数据库SQLite开发期/ MySQL / PostgreSQL生产整套系统覆盖了13 个核心功能模块从认证登录到文件上传从权限管理到在线用户追踪全部内置实现。技术栈一览后端技术用途.NET 10 C# 12框架基础EF CoreORMSQLite / MySQL / PostgreSQLJWT双令牌认证Serilog结构化日志FluentValidation参数校验AutoMapper对象映射Redis缓存支持 NoOp 降级BCrypt密码哈希Swagger / OpenAPIAPI 文档前端技术用途Vue 3 TypeScript框架Vite 7构建工具Ant Design Vue 4UI 组件库Pinia状态管理Vue Router动态路由权限Tailwind CSS v4原子化 CSSVxeTable表格组件pnpm TurboMonorepo功能预览 以下为系统界面截图登录页仪表盘用户管理角色管理菜单管理部门管理字典管理操作日志通知公告架构设计后端Clean Architecture DDD后端采用Clean Architecture整洁架构设计遵循DDD 领域驱动设计思想分为四层依赖方向始终向内指向 Core 层。核心层 Chet.Admin.Core零依赖依赖抽象实现接口基础设施层 Chet.Admin.InfrastructureDataAppDbContext / EfCoreRepositoryUnitOfWork / 实体配置CachingRedis NoOp 降级ConfigurationAppSettings 强类型配置LoggingSerilog 敏感数据过滤应用层 Chet.Admin.ApplicationServices11 个业务服务DTOs数据传输对象 ValidatorsMappingAutoMapper 配置表示层 Chet.Admin.ApiControllers12 个控制器Middleware审计 / 日志 / 在线用户 / 限流Filters异常过滤器Configurations11 个 DI 注册扩展Program.cs应用入口Domain领域实体Contracts接口契约IRepository / IUnitOfWorkSharedApiResponse / UtcDateTimeJsonConverterCacheKeys / ExceptionChet.Admin.Api/ ├── Chet.Admin.Api/ # 表示层控制器、中间件、启动配置 │ ├── Controllers/ # 12 个控制器Auth/User/Role/Menu... │ ├── Middleware/ # 4 个中间件审计/日志上下文/在线用户/限流 │ ├── Filters/ # 异常过滤器 │ ├── Configurations/ # 11 个配置类DI 注册扩展 │ └── Program.cs # 应用入口 │ ├── Chet.Admin.Application/ # 应用层业务逻辑 │ ├── Chet.Admin.Services/ # 11 个业务服务实现 │ │ ├── Auth/ # 认证服务、验证码服务 │ │ ├── Jwt/ # JWT 令牌服务 │ │ ├── User/ # 用户服务、在线用户服务 │ │ ├── Role/ # 角色服务、数据权限服务 │ │ ├── Menu/ # 菜单服务 │ │ ├── Department/ # 部门服务 │ │ ├── Dictionary/ # 字典服务 │ │ ├── Audit/ # 审计日志服务 │ │ ├── Notification/ # 通知服务 │ │ ├── File/ # 文件服务 │ │ ├── Dashboard/ # 仪表盘服务 │ │ └── Security/ # 密码服务 │ ├── Chet.Admin.DTOs/ # 数据传输对象 Validators 校验 │ └── Chet.Admin.Mapping/ # AutoMapper 映射配置 │ ├── Chet.Admin.Core/ # 核心层不依赖任何其他层 │ ├── Chet.Admin.Domain/ # 领域实体User/Role/Menu/Department... │ ├── Chet.Admin.Contracts/ # 接口契约服务接口 仓储接口 │ │ ├── IRepository.cs # 泛型仓储接口 │ │ └── IUnitOfWork.cs # 工作单元接口 │ └── Chet.Admin.Shared/ # 共享类 │ ├── Api/ # ApiResponse 统一响应 UtcDateTimeJsonConverter │ ├── Caching/ # 缓存键定义 │ └── Exception/ # 业务异常BadRequest/NotFound │ └── Chet.Admin.Infrastructure/ # 基础设施层 ├── Chet.Admin.Data/ # EF Core 数据访问 │ ├── AppDbContext.cs # 数据库上下文 │ ├── EfCoreRepository.cs # 泛型仓储实现 │ ├── UnitOfWork.cs # 工作单元实现 │ └── {Entity}/ # 各实体配置 仓储实现 ├── Chet.Admin.Caching/ # Redis 缓存 NoOp 降级 ├── Chet.Admin.Configuration/ # 强类型配置AppSettings └── Chet.Admin.Logging/ # Serilog 配置 敏感数据过滤核心原则Core 层零依赖Domain / Contracts / Shared 不依赖任何其他层依赖反转上层依赖 Core 的抽象Infrastructure 实现 Core 的接口DI 约定Services 注册为 ScopedRepository 注册为 Scoped配置注册为 Singleton前端Vben Admin Monorepo前端基于 Vben Admin v5.7 框架采用pnpm Monorepo架构。Chet.Admin.Web/ ├── apps/ │ └── web-antd/ # 主应用Ant Design Vue │ └── src/ │ ├── api/ # API 请求层core system │ ├── views/ # 页面dashboard / system / _core │ ├── store/ # Pinia 状态管理 │ ├── router/ # 动态路由 权限守卫 │ ├── composables/ # 组合式函数useDict 等 │ ├── layouts/ # 布局组件 │ └── adapter/ # 组件适配器 │ ├── packages/ # 核心包 │ ├── core/ # 核心能力 │ │ ├── base/ # 基础design / icons / shared / typings │ │ ├── composables/ # 组合式函数 │ │ ├── preferences/ # 偏好设置 │ │ └── ui-kit/ # UI 组件库form / layout / menu / popup / shadcn / tabs │ ├── constants/ # 常量定义 │ └── effects/ # 效果层 │ ├── access/ # 权限控制指令 组件 │ ├── common-ui/ # 通用 UIabout / fallback / profile │ ├── hooks/ # 业务 Hookswatermark / tabs / pagination │ ├── layouts/ # 布局basic / authentication │ └── plugins/ # 插件echarts │ └── internal/ # 内部工具 ├── lint-configs/ # 代码规范eslint / oxlint / stylelint / commitlint ├── node-utils/ # Node 工具函数 ├── tailwind-config/ # Tailwind 配置 ├── tsconfig/ # TS 配置 └── vite-config/ # Vite 配置中间件管道后端通过中间件管道处理请求顺序精心设计app.ConfigureExceptionHandling();// 异常处理app.UseLogContext();// 日志上下文app.UseCors(DefaultPolicy);// 跨域app.UseRateLimiting();// 限流app.ConfigureSwaggerUI();// Swaggerapp.ConfigureAuthMiddleware(appSettings);// JWT 认证app.UseMiddlewareAuditLogMiddleware();// 操作审计app.UseMiddlewareOnlineUserTrackingMiddleware();// 在线用户追踪app.UseStaticFiles(...);// 静态文件uploadsapp.MapControllers();// 路由映射安全特性安全是权限系统的生命线Chet.Admin 内置了完整的安全机制✅JWT 双令牌Access Token Refresh Token✅Token Rotation每次刷新更换 Refresh Token防重放✅BCrypt 密码哈希不可逆加密✅登录锁定失败 5 次锁定 15 分钟✅密码过期策略90 天强制修改✅限流防护防暴力破解可配置 IP / 接口维度✅操作审计日志中间件自动记录所有写操作✅在线用户追踪 强制下线✅验证码登录验证码保护快速启动3 条命令就能跑起来# 后端cdChet.Admin.Api dotnet run--projectChet.Admin.Api# 前端cdChet.Admin.Webpnpminstallpnpmdev:antd打开 http://localhost:5666用默认账号adminexample.com / Admin123登录即可。完整启动教程见下一篇 开源地址GitHubhttps://github.com/qiect/Chet.AdminGiteehttps://gitee.com/qiect/Chet.Admin觉得有帮助的话点个 Star ⭐支持一下吧你的 Star 是我持续更新的动力系列预告本系列共20 篇会逐一拆解每个模块的设计与实现篇目主题01开篇总览本篇02快速上手03项目结构04后端分层架构05JWT 认证与安全06RBAC 权限模型07-1713 个功能模块逐一详解18时间时区统一方案19项目重命名指南20部署上线下篇预告「Chet.Admin 5 分钟启动前后端联调保姆教程 ⚡」互动你目前在用什么权限系统自研还是开源评论区聊聊 GitHubhttps://github.com/qiect/Chet.Admin Giteehttps://gitee.com/qiect/Chet.Admin⭐ 觉得不错的话点个 Star 支持一下吧#ChetAdmin#全栈开发#.NET10#Vue3#开源项目#RBAC