摘要: 这是整个系列的综合教程:只给一个实体类,走完全部 11 步,得到一个上线可用的后台模块。 每一步都给出可执行的代码和判断依据,哪一步不需要就跳过。 总览:11 步清单 1 写实体 2 生成 / 写页面 3 建菜单 + 按钮 4 角色授权 5 数据权限(需要行级隔离时) 6 高级查询与关联(需要时) 阅读全文
posted @ 2026-10-10 13:18 EasyAdminBlazor 阅读(5) 评论(0) 推荐(0)
摘要: 案例来源:仓库自带的演示项目 EasyAdminBlazor.Demo(不是伪代码,所有内容都能在仓库里逐行对照)。 本文把演示项目按接单的真实顺序走一遍:需求 → 数据库设计 → 后台模块 → 权限 → 数据权限 → Excel/文件 → 审批 → 前台数据 → 配置与上线。 一、需求:一个"企业 阅读全文
posted @ 2026-10-07 08:06 EasyAdminBlazor 阅读(6) 评论(0) 推荐(0)
摘要: 本文对应版本:EasyAdminBlazor 2.3.0,在线升级扩展对应 EasyAdminBlazor.Upgrade 2.4.0-preview.4。 EasyAdminBlazor 面向 .NET 开发者,Windows + IIS 是很多接单交付的首选(客户有服务器、运维熟悉 IIS)。这 阅读全文
posted @ 2026-10-07 07:59 EasyAdminBlazor 阅读(9) 评论(0) 推荐(0)
摘要: 把日志写进数据库看起来很直接:INSERT 一下不就行了?真正跑起来才会遇到三个问题——数据库慢/挂了怎么办、内存会不会涨爆、日志本身会不会变成故障源。框架的答案是有界队列 + 后台批量写入 + 退避重试。 一、整体链路 业务代码 ILogger.LogError(...) ↓ DatabaseLo 阅读全文
posted @ 2026-10-06 08:42 EasyAdminBlazor 阅读(7) 评论(0) 推荐(0)
摘要: 这篇不写"理论上应该怎样",只讲这个项目的配置值、代码路径和排查方法。文中提到的每个数字都能在源码里找到。 一、先理解成本模型 Blazor Server 和传统 MVC 最大的差别:组件状态活在服务端。 每个在线用户 ≈ 一个 Circuit(服务端对象图 + 组件状态 + DI 作用域) 内存占 阅读全文
posted @ 2026-10-06 08:40 EasyAdminBlazor 阅读(5) 评论(0) 推荐(0)
摘要: 密码存储是个"写对了一次就不用再管、写错了会长期裸奔"的模块。这篇用框架的实现讲清楚四件事:为什么不能明文/单次哈希、Salt 有什么用、迭代次数怎么定、存量密码怎么平滑升级。 一、为什么是 PBKDF2 密码存储的目标不是"无法解密",而是让暴力破解足够慢。 常见错误的演进路线: 存明文 → 一次 阅读全文
posted @ 2026-10-05 08:42 EasyAdminBlazor 阅读(4) 评论(0) 推荐(0)
摘要: 这是权限设计里最容易被跳过的一句话:前端隐藏按钮只是体验,不是安全边界。 这篇用框架里的真实防线说明:如果只做前端隐藏,攻击者能怎么绕过;以及服务端应该在哪些地方补校验。 一、只隐藏按钮,攻击者怎么绕过 1. 伪造事件触发被隐藏的操作 按钮不渲染,但对应的方法还在。Blazor Server 的事件 阅读全文
posted @ 2026-10-05 08:41 EasyAdminBlazor 阅读(3) 评论(0) 推荐(0)
摘要: 上传接口有三份"关于文件类型的声明",而它们没有一份是可信的: 声明 谁提供 可信吗 扩展名 .jpg 客户端(文件名) ❌ 随手就能改 Content-Type: image/jpeg 客户端(请求头) ❌ 完全由调用方控制 文件名 avatar.jpg 客户端 ❌ 同上 这篇文章讲清"为什么不可 阅读全文
posted @ 2026-10-04 08:28 EasyAdminBlazor 阅读(9) 评论(0) 推荐(0)
摘要: 这篇是安全专题的总览,把散落在各篇里的机制汇总成一张"攻击面 → 防护 → 证据"的对照表。目标不是制造紧张感,而是让每一类风险都能指到具体代码。 一、先明确威胁模型 后台系统面对的主要是三类人: 攻击者 手里有什么 想干什么 未登录的外部人员 只知道后台地址 撞库、爆破、探测接口 已登录的低权限用 阅读全文
posted @ 2026-10-04 08:24 EasyAdminBlazor 阅读(2) 评论(0) 推荐(0)
摘要: 后台里总有一些"每天凌晨跑一次""每月 1 号清理数据"的需求。EasyAdminBlazor 2.3 的做法是:底层用 FreeScheduler 做调度与持久化,上层提供统一接口和可视化页面。 一、接入 builder.AddEasyAdminBlazor(new EasyAdminBlazor 阅读全文
posted @ 2026-10-03 09:42 EasyAdminBlazor 阅读(5) 评论(0) 推荐(0)