EasyAdminBlazor 2.3.2
See the version list below for details.
dotnet add package EasyAdminBlazor --version 2.3.2
NuGet\Install-Package EasyAdminBlazor -Version 2.3.2
<PackageReference Include="EasyAdminBlazor" Version="2.3.2" />
<PackageVersion Include="EasyAdminBlazor" Version="2.3.2" />
<PackageReference Include="EasyAdminBlazor" />
paket add EasyAdminBlazor --version 2.3.2
#r "nuget: EasyAdminBlazor, 2.3.2"
#:package EasyAdminBlazor@2.3.2
#addin nuget:?package=EasyAdminBlazor&version=2.3.2
#tool nuget:?package=EasyAdminBlazor&version=2.3.2
EasyAdminBlazor
<p align="center"> <a href="README_en-US.md">English</a> | <span>中文</span> </p>
EasyAdminBlazor 是一个基于 .NET 10 + Blazor 技术栈的企业级后台管理框架,由 BootstrapBlazor 组件库驱动 UI,FreeSql 提供数据访问能力。功能全面、开箱即用、扩展灵活,是个人开发者接私活、外包项目的利器。
🌐 官方网站:https://easyadmin.wang-zhan.com.cn
✨ 核心特性
🧩 模块化架构
核心功能与扩展功能解耦,通过 NuGet 扩展按需安装,避免功能臃肿:
| 模块 | 说明 |
|---|---|
| 用户管理 | 用户增删改查、状态管理、多端登录检测、批量设置角色/部门/重置密码 |
| 角色管理 | 基于角色的权限分配、管理员标识、删除引用保护 |
| 菜单管理 | 无限级菜单树、按钮级权限、可视化配置、菜单收藏、隐藏控制 |
| 组织架构 | 树形部门管理、多类型(集团/公司/部门/供应商)、数据权限隔离、负责人绑定、组织结构图 |
| 配置管理 | 系统参数动态配置,支持数据库存储,第三方服务参数集中管理 |
| 字典管理 | 通用字典表,支持下拉/多选,批量导入导出 |
| 日志管理 | 操作日志(字段级变更明细)、登录日志(IP/城市/浏览器/设备)、错误日志(TraceId) |
| 文件管理 | 本地文件上传/下载、图片压缩/WebP 转换、分组管理、私有文件受控下载 |
| 代码生成器 | 可视化生成 CRUD 页面(仅本地开发环境) |
| 打印模板设计器 | 可视化设计打印模板、与 AdminTable 联动、一键打印 |
| 消息中心 | 站内信、系统通知 |
| 回收站 | 软删除恢复、批量还原、彻底删除(二次确认) |
🌐 多租户(SaaS)
- 独立数据库:每个租户使用独立数据库,数据物理隔离
- 按域名解析:根据请求的 Host 自动识别当前租户,零配置切换
- 菜单权限隔离:每个租户可独立分配功能菜单
- 文件存储隔离:上传文件按租户 code 分目录存储
- 缓存与锁隔离:内存缓存 / Redis 键 / 分布式锁统一带
tenant:{code}:前缀
🌍 多语言
内置本地化支持,可动态切换界面语言,满足国际化需求。
🎨 主题色切换
内置默认蓝、清新绿、典雅紫、活力橙、中国红 5 种主色,切换即时生效并持久化。
💬 实时聊天
基于 SignalR 实现站内即时通讯,支持消息实时推送、未读提醒。
📋 计划任务
集成 FreeScheduler,支持 Cron 表达式和特性标注 [Scheduler],可视化任务管理。
⚖️ 轻量审批(扩展)
状态机 + 审批记录表,支持固定 2~3 级串联审批。支持或签、撤回、驳回、转交、轮次与时间线;条件更新保证并发安全,全流程事务化,通知在事务提交后发送。审批人来源支持部门负责人 / 角色 / 指定用户 / 单据字段。
🔌 可插拔扩展
通过扩展项目按需添加能力:
| 扩展 | 功能 |
|---|---|
EasyAdminBlazor.Mail |
SMTP / SendCloud / 腾讯云 SES 邮件发送,可按调用指定服务商 |
EasyAdminBlazor.Captcha |
表单验证码 |
EasyAdminBlazor.Redis |
Redis 缓存/消息持久化 |
EasyAdminBlazor.FusionCache |
混合缓存加速 |
EasyAdminBlazor.Chat |
实时聊天插件 |
EasyAdminBlazor.MultiTenant |
多租户支持 |
EasyAdminBlazor.Scheduler |
后台任务调度 |
EasyAdminBlazor.HtmlEditor |
TinyMCE 富文本编辑器 |
EasyAdminBlazor.WeChat |
微信小程序、微信支付集成 |
EasyAdminBlazor.Approval |
轻量多级审批(状态机) |
🛡️ 安全特性
- 密码 PBKDF2 加密存储(带版本与迭代次数)
- Cookie 认证 + AES 加密
- CSRF 防护(Antiforgery Token)
- 管理后台路由加密(AdminRouteSecret)
- 操作日志审计,字段级变更明细可追溯
- 登录失败次数限制 + 验证码防暴力破解
- 登录票据绑定签发租户与时间,Host 白名单校验防止伪造切租户
- SSRF 加固:逐跳地址校验、禁止 HTTPS 降级、锁定已校验 IP 防 DNS Rebinding
- XSS 净化:站内信、审批意见、聊天 Markdown 统一处理
- 私有文件受控下载接口,校验登录、租户、文件记录与授权
🏗️ 技术栈
| 层级 | 技术 |
|---|---|
| 框架 | .NET 10 |
| UI | Blazor Server / BootstrapBlazor |
| ORM | FreeSql(支持 MySQL、Sqlite、PostgreSQL、SQL Server 等) |
| 实时通信 | SignalR |
| 认证 | Cookie Authentication + ASP.NET Core Identity |
| 缓存 | IMemoryCache / Redis / FusionCache |
| 任务调度 | FreeScheduler |
| 图片处理 | SixLabors.ImageSharp |
| ID 生成 | Yitter 雪花算法 |
| Excel | MiniExcel |
| 富文本 | TinyMCE |
🚀 快速开始
环境要求
- .NET 10 SDK
- 数据库:用模板创建的新项目默认使用 SQLite,零配置即可跑起来;生产环境再切换到 MySQL 8.0+、SQL Server、PostgreSQL 等 FreeSql 支持的数据库
- (可选)Redis(聊天、分布式缓存等扩展功能需要)
全新项目
# 安装模板包
dotnet new install EasyAdminBlazor.Templates
# 使用模板创建项目
dotnet new easyadmin -n MyProjectName
# 进入项目运行
cd MyProjectName
dotnet run
运行后打开后台登录页:http://localhost:端口/admin/i4ByMAX4(i4ByMAX4 是默认的 AdminRouteSecret 安全码,端口以控制台启动日志里的监听地址为准)。默认账号 admin,密码 123yyq。
📚 文档与源码
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- BootstrapBlazor (>= 10.9.2)
- BootstrapBlazor.FontAwesome (>= 10.0.3)
- BootstrapBlazor.TableExport (>= 10.0.2)
- DiffPlex (>= 1.9.0)
- EasyAdminBlazor.Core (>= 2.3.2)
- Microsoft.AspNetCore.SignalR.Client (>= 10.0.5)
- Rougamo.Fody (>= 5.0.2)
- SixLabors.ImageSharp (>= 3.1.12)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on EasyAdminBlazor:
| Package | Downloads |
|---|---|
|
EasyAdminBlazor.HtmlEditor
EasyAdminBlazor的TinyMCE编辑器扩展 |
|
|
EasyAdminBlazor.Chat
EasyAdminBlazor的聊天扩展 |
|
|
EasyAdminBlazor.MultiTenant
EasyAdminBlazor的多租户扩展,提供数据库隔离的多租户支持。 |
|
|
EasyAdminBlazor.Scheduler
EasyAdminBlazor基于FreeScheduler的计划任务扩展 |
|
|
EasyAdminBlazor.Redis
EasyAdminBlazor的FreeRedis缓存扩展,提供高性能的分布式缓存支持。 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.4.0-preview.4 | 36 | 10/3/2026 |
| 2.4.0-preview.3 | 47 | 10/3/2026 |
| 2.4.0-preview.2 | 36 | 10/3/2026 |
| 2.4.0-preview.1 | 33 | 10/3/2026 |
| 2.4.0-preview | 43 | 10/3/2026 |
| 2.3.2 | 61 | 10/2/2026 |
| 2.3.1 | 158 | 9/19/2026 |
| 2.3.0 | 193 | 9/17/2026 |
| 2.2.18 | 174 | 9/8/2026 |
| 2.2.17 | 162 | 8/30/2026 |
| 2.2.16 | 104 | 8/26/2026 |
| 2.2.15 | 185 | 8/16/2026 |
| 2.2.14 | 151 | 8/14/2026 |
| 2.2.13 | 144 | 6/23/2026 |
| 2.2.12 | 138 | 6/19/2026 |
| 2.2.11 | 156 | 6/13/2026 |
| 2.2.10 | 134 | 6/7/2026 |
| 2.2.9 | 140 | 5/30/2026 |