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 57 10/26/2026
2.5.1 63 10/23/2026
2.4.2 127 10/18/2026
2.4.1 115 10/15/2026
2.4.0 200 10/13/2026
2.3.2 168 10/2/2026
2.3.1 175 9/19/2026
2.3.0 210 9/17/2026
2.2.18 188 9/8/2026
2.2.17 174 8/30/2026
Loading failed