EasyAdminBlazor 2.6.1

dotnet add package EasyAdminBlazor --version 2.6.1
                    
NuGet\Install-Package EasyAdminBlazor -Version 2.6.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EasyAdminBlazor" Version="2.6.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EasyAdminBlazor" Version="2.6.1" />
                    
Directory.Packages.props
<PackageReference Include="EasyAdminBlazor" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EasyAdminBlazor --version 2.6.1
                    
#r "nuget: EasyAdminBlazor, 2.6.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package EasyAdminBlazor@2.6.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EasyAdminBlazor&version=2.6.1
                    
Install as a Cake Addin
#tool nuget:?package=EasyAdminBlazor&version=2.6.1
                    
Install as a Cake Tool

EasyAdminBlazor

EasyAdminBlazor 是一个基于 .NET 10 + Blazor 技术栈的后台管理框架,UI 层由 BootstrapBlazor 驱动,数据访问由 FreeSql 提供。核心功能与扩展功能解耦,扩展按需引用。

官方网站:https://easyadmin.wang-zhan.com.cn


核心特性

模块化架构

核心功能与扩展功能解耦,通过 NuGet 扩展按需安装,避免功能臃肿:

模块 说明
用户管理 用户增删改查、状态管理、多端登录检测、批量设置角色/部门/重置密码
角色管理 基于角色的权限分配、管理员标识、删除引用保护
菜单管理 无限级菜单树、按钮级权限、可视化配置、菜单收藏、隐藏控制
组织架构 树形部门管理、多类型(集团/公司/部门/供应商)、数据权限隔离、负责人绑定、组织结构图
配置管理 系统参数动态配置,支持数据库存储,第三方服务参数集中管理
字典管理 通用字典表,支持下拉/多选,批量导入导出
日志管理 操作日志(字段级变更明细)、登录日志(IP/城市/浏览器/设备)、错误日志(TraceId)
文件管理 本地文件上传/下载、图片压缩/WebP 转换、分组管理、私有文件受控下载
代码生成器 可视化生成 CRUD 页面(仅本地开发环境;扩展 EasyAdminBlazor.CodeGenerator)
打印模板设计器 可视化设计打印模板、与 AdminTable 联动、一键打印(扩展 EasyAdminBlazor.Print)
消息中心 站内信、系统通知
回收站 软删除恢复、批量还原、彻底删除(二次确认)

应用在线升级(扩展 EasyAdminBlazor.Upgrade)

管理员在后台点「检查更新 → 立即升级」,系统自动停服务、备份、替换文件、启动并健康检查;失败自动回滚,用户不需要重新登录。

  • 版本分离:应用版本来自宿主 <Version>,框架版本独立读取,页脚同时显示
  • 逐版本增量:1.0 → 1.1 → 1.2 依次升完,无需手工跳版本
  • 发布即出包:Release 发布一次,增量包(约 1~2 MB)自动落在 updates/v<版本>/
  • 两种来源:本地目录(人工拷包)与 HTTPS 发布索引(客户自助升级)
  • 数据零风险:上传文件、日志、密钥、配置、数据库永不写入/删除
  • 安全校验:包 SHA256 + 文件哈希 + 基线哈希三重校验,拒绝 ZIP 路径穿越
  • 失败只回滚当前一步,并保证应用重新拉起
  • 过程可视化:全屏遮罩显示进度,完成后倒计时自动刷新
  • 部署适配:支持 Direct / WindowsService / Systemd / External;IIS 进程内托管时自动禁用
  • 独立扩展:不引用则页脚、/health、发布钩子都不存在,老项目行为不变

详细说明见 应用升级。

多租户(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 轻量多级审批(状态机)
EasyAdminBlazor.Upgrade 应用在线升级(逐版本增量、自动回滚)
EasyAdminBlazor.Print 打印模板、报表设计器
EasyAdminBlazor.CodeGenerator 可视化 CRUD 代码生成

自己的功能也能封成这样的扩展包,做法见 如何自建扩展。

安全特性

  • 密码 PBKDF2 加密存储(带版本与迭代次数)
  • Cookie 认证 + AES 加密
  • CSRF 防护(Antiforgery Token)
  • 管理后台路由加密(AdminRouteSecret)
  • 操作日志审计,字段级变更明细可追溯
  • 登录失败次数限制 + 验证码防暴力破解
  • 登录票据绑定签发租户与时间,Host 白名单校验防止伪造切租户
  • SSRF 加固:逐跳地址校验、禁止 HTTPS 降级、锁定已校验 IP 防 DNS Rebinding
  • XSS 净化:站内信、审批意见、聊天 Markdown 统一处理
  • 私有文件受控下载接口,校验登录、租户、文件记录与授权
  • 在线升级三重校验:包 SHA256、包内文件哈希、基线哈希

技术栈

层级 技术
框架 .NET 10
UI Blazor Server / BootstrapBlazor
ORM FreeSql(支持 MySQL、Sqlite、PostgreSQL、SQL Server 等)
实时通信 SignalR
认证 Cookie Authentication(自定义加密 Cookie)
缓存 IMemoryCache / Redis / FusionCache
任务调度 FreeScheduler
图片处理 SkiaSharp
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/{安全码}。安全码是首次启动时随机生成的 8 位字符,会打印在控制台启动日志里(同时保存在 .aspnet/admin-route-secret.txt,重启不变);端口同样以控制台启动日志里的监听地址为准。默认账号 admin,密码 123yyq。

源码授权客户:直接引用源码

购买源码授权的客户如果希望项目直接引用你拿到的那份框架源码(而不是公共 NuGet 包),把模板生成项目里的包引用换成源码引用即可:

<ItemGroup>
  
  <ProjectReference Include="..\EasyAdminBlazor\EasyAdminBlazor\EasyAdminBlazor.csproj" />
  
  <ProjectReference Include="..\EasyAdminBlazor\Extensions\EasyAdminBlazor.Cms\EasyAdminBlazor.Cms.csproj" />
</ItemGroup>

几个要点:

  • 核心库不用单独引:EasyAdminBlazor.Core 由主框架工程传递引用
  • 扩展各自独立:需要哪个扩展就引哪个工程(Extensions/ 下每个目录一个工程)
  • 不再依赖框架的 NuGet 版本:框架升级只需更新这份源码;只有第三方依赖(BootstrapBlazor、FreeSql 等)仍走 NuGet
  • 发布应用不受影响:源码引用只在编译期生效,你的应用照常 dotnet publish 成可部署产物
  • 可移植性:把框架源码目录放在项目同级(如 ../EasyAdminBlazor),别用绝对路径或跨盘符的相对路径,否则别人 clone 你的项目就跑不起来

文档与源码


商业授权与源码

框架本体免费使用(NuGet 包,可直接用于商业项目);源码为付费授权,购买后可自由修改、二次开发,并可闭源交付给你的客户。

能力 免费(NuGet 包) 源码授权
后台管理、RBAC、多租户、计划任务等全部功能 ✅ ✅
商用、私有化部署、交付客户 ✅ ✅
查看与修改框架源码 ❌ ✅
深度定制框架自身(改基类、加内置模块) ❌ ✅
终身更新 按社区节奏 ✅
一对一技术支持 ❌ 可选(1 年)

已购买源码授权的项目,可在 AddEasyAdminBlazor 中设置 ShowSourceLink = false,去掉后台页头的「获取源码」入口。

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on EasyAdminBlazor:

Package Downloads
EasyAdminBlazor.HtmlEditor

EasyAdminBlazor的TinyMCE编辑器扩展

EasyAdminBlazor.Chat

EasyAdminBlazor的聊天扩展

EasyAdminBlazor.Captcha

EasyAdminBlazor的验证码扩展

EasyAdminBlazor.MultiTenant

EasyAdminBlazor的多租户扩展,提供数据库隔离的多租户支持。

EasyAdminBlazor.Scheduler

EasyAdminBlazor基于FreeScheduler的计划任务扩展

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.6.1 0 10/26/2026
2.5.1 48 10/23/2026
2.4.2 124 10/18/2026
2.4.1 112 10/15/2026
2.4.0 191 10/13/2026
2.3.2 167 10/2/2026
2.3.1 174 9/19/2026
2.3.0 207 9/17/2026
2.2.18 186 9/8/2026
2.2.17 174 8/30/2026
Loading failed