# Chet.Admin **Repository Path**: qiect/Chet.Admin ## Basic Information - **Project Name**: Chet.Admin - **Description**: Chet.Admin 是一套采用前后端分离架构的企业级 RBAC(基于角色的访问控制)权限管理系统,开箱即用,提供完整的用户、角色、菜单、部门、权限等核心能力,以及按钮级权限控制、行级数据权限、操作审计、通知公告等增强功能。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://qiect.github.io/docs.chet.admin - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-10 - **Last Updated**: 2026-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Chet.Admin

基于 .NET 10 + Vue 3 的企业级 RBAC 权限管理系统

.NET Vue TypeScript Vite Ant Design Vue License

快速开始 · 完整文档 · 功能预览 · 项目结构

--- ## 项目简介 **Chet.Admin** 是一套采用前后端分离架构的企业级 RBAC(基于角色的访问控制)权限管理系统,开箱即用,提供完整的用户、角色、菜单、部门、权限等核心能力,以及按钮级权限控制、行级数据权限、操作审计、通知公告等增强功能。 - **后端**:基于 .NET 10 的 Clean Architecture 解决方案,遵循 DDD 领域驱动设计 - **前端**:基于 [Vben Admin v5.7](https://vben.pro) 框架的 Vue 3 管理后台(Ant Design Vue 技术栈) ## 功能预览 > 📌 以下为系统界面截图: ### 登录页 ![登录页](./docs/screenshots/login.png) ### 仪表盘 ![仪表盘](./docs/screenshots/dashboard.png) ### 用户管理 ![用户管理](./docs/screenshots/user.png) ### 角色管理 ![角色管理](./docs/screenshots/role.png) ### 菜单管理 ![菜单管理](./docs/screenshots/menu.png) ### 部门管理 ![部门管理](./docs/screenshots/department.png) ### 字典管理 ![字典管理](./docs/screenshots/dictionary.png) ### 操作日志 ![操作日志](./docs/screenshots/audit-log.png) ### 通知公告 ![通知公告](./docs/screenshots/notification.png) ## 核心特性 - 🚀 **现代化技术栈**:.NET 10 + Vue 3 + TypeScript + Vite - 🏗️ **企业级架构**:后端 Clean Architecture + DDD,前端 Monorepo(pnpm + Turbo) - 🔐 **完善权限体系**:菜单级路由权限 + 按钮级操作权限 + 行级数据权限(5 种范围) - 🔒 **安全可靠**:JWT 双令牌认证、BCrypt 密码哈希、限流防护、验证码、登录锁定、密码过期策略 - 📊 **可观测性**:Serilog 结构化日志、操作审计日志、在线用户追踪 - 🌐 **开箱即用**:内置种子数据,启动即可登录使用 - 🐳 **容器化部署**:原生支持 Docker / Docker Compose - 🎨 **现代化 UI**:基于 Ant Design Vue,支持浅色 / 深色主题 ## 技术栈 ### 后端 | 类别 | 技术 | | ---- | ---- | | 框架 | .NET 10 + C# 12 | | ORM | Entity Framework Core(SQLite / PostgreSQL) | | 缓存 | Redis + MemoryCache(支持 NoOp 降级) | | 认证 | JWT(双令牌机制) | | 密码 | BCrypt 哈希 | | 对象映射 | AutoMapper | | 日志 | Serilog(结构化日志) | | API 文档 | Swagger / OpenAPI | | 参数校验 | FluentValidation | ### 前端 | 类别 | 技术 | | ---- | ---- | | 框架 | Vue 3(Composition API) | | 构建工具 | Vite | | UI 组件库 | Ant Design Vue | | 语言 | TypeScript | | 状态管理 | Pinia | | 路由 | Vue Router(动态路由权限) | | CSS 方案 | Tailwind CSS v4 | | 包管理 | pnpm(Monorepo) | | 表格组件 | VxeTable | | 图表 | ECharts(vue-echarts) | ## 功能模块 | 模块 | 说明 | | ---- | ---- | | 认证登录 | 注册、登录、刷新令牌、验证码、登录锁定、密码过期策略 | | 用户管理 | CRUD、密码强度、分配角色、数据权限过滤 | | 角色管理 | CRUD、权限分配、菜单分配、5 种数据权限范围 | | 菜单管理 | 树形 CRUD、动态路由生成、目录/菜单/按钮 | | 部门管理 | 树形 CRUD、组织架构 | | 权限管理 | CRUD、按钮级权限码 | | 字典管理 | CRUD、`useDict` 联动业务表单 | | 仪表盘 | 统计卡片、SVG 趋势图、最近操作 | | 操作日志 | 中间件自动记录、分页查询、清理 | | 通知公告 | 全局公告、个人通知、未读计数 | | 文件上传 | 本地存储、上传/下载/删除 | | 在线用户 | 登录追踪、强制下线 | | 个人中心 | 资料修改、密码修改、头像上传 | ## 快速开始 ### 环境要求 | 环境 | 版本 | | ---- | ---- | | .NET SDK | 10.0+ | | Node.js | 22.18+ 或 24+ | | pnpm | 11.0+ | ### 启动后端 ```bash cd Chet.Admin.Api dotnet restore dotnet run --project Chet.Admin.Api ``` 后端运行在 **http://localhost:5000**,Swagger UI:**http://localhost:5000/swagger** ### 启动前端 ```bash cd Chet.Admin.Web pnpm install pnpm dev:antd ``` 前端运行在 **http://localhost:5666**,自动代理 `/api` 请求到后端。 ### 默认账号 | 项目 | 值 | | ---- | ---- | | 邮箱 | `admin@example.com` | | 密码 | `Admin@123` | > 首次登录如遇异常,按 `Ctrl+Shift+Delete` 清除浏览器 localStorage 后重试。 ## 项目结构 ``` Chet.Admin/ ├── Chet.Admin.Api/ # 后端 .NET 10 解决方案(Clean Architecture) │ ├── Chet.Admin.Api/ # 表示层:控制器、中间件、启动配置 │ ├── Chet.Admin.Application/ # 应用层:业务服务、对象映射 │ │ ├── Chet.Admin.Services/ # 业务逻辑实现 │ │ └── Chet.Admin.Mapping/ # AutoMapper 配置 │ ├── Chet.Admin.Core/ # 核心层(不依赖任何其他层) │ │ ├── Chet.Admin.Domain/ # 领域实体 │ │ ├── Chet.Admin.Contracts/ # 接口契约 │ │ └── Chet.Admin.Shared/ # 共享类、异常、响应模型 │ ├── Chet.Admin.Infrastructure/ # 基础设施层 │ │ ├── Chet.Admin.Data/ # EF Core 数据访问 │ │ ├── Chet.Admin.Caching/ # Redis / NoOp 缓存 │ │ ├── Chet.Admin.Configuration/ # 强类型配置 │ │ └── Chet.Admin.Logging/ # 日志配置 │ ├── Chet.Admin.Tests/ # 测试层 │ └── docker-compose.yml ├── Chet.Admin.Web/ # 前端 Vben Admin 5.7 Monorepo │ └── apps/ │ └── web-antd/ # 主应用(Ant Design Vue) │ └── src/ │ ├── api/ # API 请求层 │ ├── views/ # 页面(dashboard/system/_core) │ ├── store/ # Pinia 状态管理 │ ├── router/ # 动态路由 + 权限守卫 │ └── composables/ # 组合式函数(useDict 等) └── docs/ # 项目文档 ``` ## 文档 完整文档位于 [`docs/`](./docs/README.md) 目录: | 文档 | 说明 | | ---- | ---- | | [01-项目概述](./docs/01-项目概述.md) | 项目简介、技术栈、功能模块 | | [02-系统架构](./docs/02-系统架构.md) | 前后端架构、目录结构、依赖关系 | | [03-快速开始](./docs/03-快速开始.md) | 环境搭建、启动步骤、联调说明 | | [04-后端开发指南](./docs/04-后端开发指南.md) | 分层详解、DI 约定、新增模块流程 | | [05-前端开发指南](./docs/05-前端开发指南.md) | 目录规范、页面结构、权限控制 | | [06-API 接口文档](./docs/06-API接口文档.md) | 统一响应格式、认证机制、接口清单 | | [07-数据库设计](./docs/07-数据库设计.md) | RBAC 模型、ER 图、数据表结构 | | [08-部署指南](./docs/08-部署指南.md) | Docker 部署、Nginx 配置、生产清单 | | [09-功能模块说明](./docs/09-功能模块说明.md) | 各模块功能、接口、实现细节 | | [10-项目重命名指南](./docs/10-项目重命名指南.md) | GitHub Template + chet-rename 脚本,一键构建新项目 | 更多后端设计文档见 [`Chet.Admin.Api/.docs/`](./Chet.Admin.Api/.docs/)。 ## 部署 ### Docker Compose(推荐) ```bash cd Chet.Admin.Api docker-compose up -d --build # 同时启动 Redis docker-compose --profile with-redis up -d --build ``` ### 前端构建 ```bash cd Chet.Admin.Web pnpm install pnpm build:antd ``` 构建产物位于 `apps/web-antd/dist`,部署到 Nginx 静态目录并配置 API 反向代理。 详见 [部署指南](./docs/08-部署指南.md)。 ## 开发指南 ### 后端新增业务模块 按层依次添加:领域实体 → 接口契约 → 仓储实现 → 服务实现 → 控制器 → DI 注册 → 数据库迁移。 详见 [后端开发指南](./docs/04-后端开发指南.md#8-新增业务模块流程)。 ### 前端新增页面 ``` 1. 新增 API 文件:src/api/system/{module}.ts 2. 新增页面:src/views/system/{module}/index.vue 3. 新增路由模块:src/router/routes/modules/{module}.ts(或后端菜单动态返回) 4. 后端配置权限码,前端按钮绑定权限码 ``` 详见 [前端开发指南](./docs/05-前端开发指南.md#12-新增业务模块完整流程)。 ## 开源致谢 - 后端架构参考:[Chet.WebApi.Template](https://github.com/qiect/Chet.WebApi.Template) - 前端框架:[Vue Vben Admin](https://github.com/vbenjs/vue-vben-admin)(MIT 协议) - UI 组件库:[Ant Design Vue](https://antdv.com/) ## License 本项目采用 [MIT](./LICENSE) 协议。