项目简介
youlai-aspnet 是 vue3-element-admin 的 ASP.NET Core 8(.NET 8)后端实现,接口路径与返回结构完全对齐,可直接为 vue3-element-admin 前端项目提供后端服务,形成完整的 youlai 全家桶企业级解决方案。
项目特色
- 🚀 最新技术栈:.NET 8 + ASP.NET Core 8,性能、长期支持与生态同步升级
- 🔐 安全认证:JWT 无状态认证 + Redis 会话双模式,满足不同安全等级场景
- 🔑 权限管理:RBAC 权限模型,菜单/按钮/接口三级权限统一治理
- 🛠️ 模块能力:用户、角色、菜单、部门、字典等核心模块开箱即用
项目源码
| 项目 | Gitee | GitHub | GitCode |
|---|---|---|---|
| .NET 后端 | youlai-aspnet | youlai-aspnet | youlai-aspnet |
| Vue3 管理端 | vue3-element-admin | vue3-element-admin | vue3-element-admin |
| uni-app 移动端 | vue-uniapp-template | vue-uniapp-template | vue-uniapp-template |
技术栈
| 分类 | 技术选型 | 说明 |
|---|---|---|
| 运行时 | .NET SDK 8 | 版本锁定:8.0.416 |
| Web 框架 | ASP.NET Core 8 | 高性能 Web API 框架 |
| ORM | Entity Framework Core (MySQL) | 数据访问层 |
| 缓存 | Redis 7.x | 会话存储、数据缓存 |
| 认证 | JWT Bearer | 基于令牌的身份验证 |
| 接口文档 | Swagger/OpenAPI | 交互式 API 文档 |
架构设计
项目采用经典的四层架构(借鉴 DDD 思想),确保了代码的低耦合、高内聚,使得项目在功能扩展和长期维护上都表现出色。各层职责明确,依赖关系清晰:
Layers
Api 层
Application 层
Domain 层
Infrastructure 层
Youlai.Domain(领域层):项目的核心,定义了实体模型、领域对象和最核心的业务规则,不依赖任何其他层。Youlai.Application(应用层) :负责编排和协调业务逻辑,定义服务接口和数据传输对象(DTOs),是领域层与外部世界的桥梁。它依赖Domain层。Youlai.Infrastructure(基础设施层) :提供技术实现,如数据库访问(EF Core)、缓存(Redis)、消息队列等。它依赖Domain层,并被Application层调用。Youlai.Api(接口层) :对外暴露 Web API 接口,负责请求的接收、参数校验、认证授权等。它依赖Application层。
项目目录结构
bash
youlai-aspnet/
├─ src/ # 源码目录
│ ├─ Youlai.Api/ # Web API层(控制器、中间件、认证授权)
│ ├─ Youlai.Application/ # 应用层(服务接口定义、DTO、业务逻辑)
│ ├─ Youlai.Domain/ # 领域层(实体模型、领域对象、枚举)
│ └─ Youlai.Infrastructure/ # 基础设施层(EF Core实现、仓储、缓存)
│
├─ sql/ # 数据库脚本
│ └─ mysql/
│ └─ youlai_admin.sql # 数据库初始化脚本(包含表结构和基础数据)
│
├─ tests/ # 测试项目
├─ youlai-aspnet.sln # Visual Studio 解决方案文件
└─ global.json # .NET SDK版本锁定配置
快速环境准备与启动
1. 准备基础环境
| 要求 | 说明 | 安装指引 |
|---|---|---|
| .NET SDK 8 | 8.0.416 或更高版本 | 官方下载 |
| MySQL | 5.7+ 或 8.x | 业务数据存储,必需安装:Windows / Linux |
| Redis | 7.x 稳定版 | 会话缓存,必需安装:Windows / Linux |
| MySQL 客户端 | Navicat / DBeaver / SQLark | 推荐使用图形化管理工具 |
⚠️ 重要提示:MySQL 与 Redis 为项目启动必需依赖,请确保服务已启动。
2. 安装开发工具
Visual Studio 2022+(推荐):
- 社区版即可,安装工作负载:ASP.NET 和 Web 开发
VS Code (本文使用):
- 安装 .NET SDK 8

dotnet --version

- 安装以下扩展插件(VS Code 扩展市场搜索安装):
| 插件名称 | 作用 |
|---|---|
| C# Dev Kit | .NET 开发核心套件,必备 |
| C# | C# 语言支持 |
| NuGet Package Manager | NuGet 包管理 |
3. 初始化数据库
推荐使用 Navicat 、DBeaver 或 MySQL Workbench 等数据库管理工具执行初始化脚本:
- 打开数据库管理工具,连接到 MySQL 服务器
- 执行项目根目录下的脚本文件:
sql/mysql/youlai_admin.sql - 脚本会自动创建
youlai_admin数据库及相关表结构 - 插入初始化数据(包含默认管理员账号:admin/123456)
4. 配置应用程序
开发环境配置文件:src/Youlai.Api/appsettings.Development.json
json
{
"Database": {
"ConnectionString": "Server=localhost;Port=3306;Database=youlai_admin;User=root;Password=123456;"
},
"Redis": {
"ConnectionString": "localhost:6379,password=,defaultDatabase=0"
},
"Security": {
"Session": {
"AccessTokenTimeToLive": 7200,
"RefreshTokenTimeToLive": 604800,
"Jwt": {
"SecretKey": "设置一个至少32位的安全密钥"
}
}
}
}
配置项说明:
Database:ConnectionString:MySQL 数据库连接字符串Redis:ConnectionString:Redis 连接配置Security:Session:Jwt:JWT 认证相关配置(生产环境请务必修改 SecretKey)
5. 启动后端服务
bash
# 1. 克隆项目
git clone https://gitee.com/youlaiorg/youlai-aspnet.git
cd youlai-aspnet
# 2. 下载并还原项目依赖(NuGet 包)
dotnet restore
# 3. 启动项目
dotnet run --project src/Youlai.Api -c Release
启动成功后,访问 http://localhost:8000/swagger 验证项目是否成功。

6. 整合并启动前端
youlai-aspnet 专为 vue3-element-admin 设计,前后端完全兼容:
bash
# 1. 获取前端项目
git clone https://gitee.com/youlaiorg/vue3-element-admin.git
cd vue3-element-admin
# 2. 安装依赖(推荐使用 pnpm)
npm install -g pnpm
pnpm install
# 3. 配置后端接口地址
# 编辑 .env.development 文件,修改:
VITE_APP_API_URL=http://localhost:8000
# 4. 启动前端
pnpm run dev
7. 效果图
访问地址 : http://localhost:3000 登录账号 :
admin/123456
登录页

控制台 
系统管理

代码生成

项目部署
Windows 部署 (IIS + Kestrel)
适用于 Windows Server 或企业内网环境,是官方推荐的生产环境部署方案。
1. 安装 IIS
- 打开 控制面板 → 程序 → 启用或关闭 Windows 功能。
- 勾选 Internet Information Services (使用默认组件即可)。
2. 安装 ASP.NET Core Hosting Bundle
- 从 官网 下载并安装 Hosting Bundle。
- 安装完成后重启 IIS。
3. 发布项目
推荐使用独立发布模式,使应用不依赖服务器上安装的 .NET Runtime。
bash
dotnet publish src/Youlai.Api -c Release -r win-x64 --self-contained true -o ./publish
4. 配置 IIS
- 打开 IIS 管理器 ,右键 网站 → 添加网站。
- 物理路径 :指向第 3 步生成的
publish文件夹。 - 端口 :设置一个未被占用的端口,如
8000。 - 应用程序池 :
- .NET CLR 版本 :选择
无托管代码。 - 管道模式 :选择
Integrated。
- .NET CLR 版本 :选择
5. 访问
通过 http://服务器IP:端口 访问应用。
说明: 在此方案中,IIS 作为反向代理和进程管理器,实际的应用由内置的 Kestrel 服务器运行,无需单独配置 Kestrel。
技术交流
youlai-aspnet 旨在为 .NET 开发者提供一个与 vue3-element-admin 无缝对接、开箱即用的高性能后端解决方案。通过遵循清晰的架构设计和最新的技术栈,我们希望它能成为你快速构建企业级应用的坚实基础。