ASP.NET Core 认证更新:.NET 11 为何移除 Device Bound Sessions?
原创ASP.NET Core 认证更新:.NET 11 为何移除 Device Bound Sessions?
Cookie 认证与返回 URL 验证的版本差异
每次新版本发布,我都要翻一遍认证和授权的变化。作为顾问和培训师,我需要知道这些变化对我构建的应用程序和教的课程意味着什么 来源:原文。这次我特意检查了那些较小的更新,因为它们可能不只是 bug 修复。
我对比了 .NET 10.0.1 到 10.0.13 的 servicing 更新,以及 .NET 11 RC2 的附加变化。之所以同时看两条版本线,是因为 .NET 11 的一个修复可能已经随 .NET 10 更新发布了。.NET 11 还没正式发布,所以我说的一切都基于 RC2,最终发布前细节仍可能变动 来源:原文。
Cookie 认证的发现比较直接。.NET 11 RC2 里,使用会话存储时,注销后重新登录会生成新的会话密钥(fresh session key);而 .NET 10.0.13 已经包含了更严格的返回 URL 验证(return-URL validation)来源:原文。这两个改动放在一起看,一个涉及会话安全,一个涉及重定向目标,都属于认证流程里容易出问题的角落。
有意思的是,HN 上这个帖子只有 1 分、0 条评论 来源:HN。关注度如此之低,和文章里那几十处 diff 的密度形成反差。我猜大部分开发者还没注意到这些变化,等到升级时踩到坑,才会回来翻 release notes。
Negotiate 与证书认证的安全修复
Negotiate(Windows 认证)在 .NET 11 RC2 里新增了 TLS 通道绑定(TLS channel binding)来源:原文。我理解这个改动是让认证过程绑定到具体的 TLS 连接,防止中间人把认证流量重放到别的会话上。它只影响使用 Negotiate 的 Windows 集成认证场景,但那个场景在企业内网里很常见。
.NET 10.0.13 则带来了 LDAP 查找修复,它可能改变用户的角色(user’s roles)来源:原文。这意味着修复之后,某些用户拿到的角色集合会和以前不一样。对依赖角色授权的应用来说,这是个行为变更,不只是内部实现调整。升级前值得跑一遍测试,确认角色数据没有意外变化。
证书认证的验证缓存也改了。.NET 10.0.13 里,验证结果现在按方案(scheme)分离保存,避免不同方案相互污染 来源:原文。我遇到过多个证书认证方案共用缓存导致的怪异问题,当时查了挺久。这个修复让每个方案有自己的验证结果空间,排查起来会省事得多。
作者在总结里提醒,这些 smaller updates 可能包含的不只是 bug 修复,还有安全相关的行为变化 来源:原文。我认同这个判断。LDAP 角色变更和缓存分离,都是会改变运行结果的改动,不是纯粹的内部重构。
授权、数据保护与实验包的移除
授权方面,.NET 11 RC2 新增了 AuthorizationPolicy.CombineAsync 重载,可以从端点元数据构建策略,并在日志中输出失败原因 来源:原文。失败原因进日志,这一点对调试授权问题很实用。以前策略失败时只有笼统的拒绝,得靠断点猜,现在可以直接看到是哪个策略、哪条规则没通过。
Data Protection 在 .NET 11 RC2 里新增了基于缓冲区的 API(buffer-based APIs),同时 .NET 10.0.13 修复了密钥环启动问题 来源:原文。基于缓冲区的 API 允许调用方直接操作字节,省去中间分配;密钥环启动修复则关系到应用启动时能否正常加载加密密钥。两者都属于底层性能或可用性改进,不会改变加密结果的格式。
最反直觉的发现是 Device Bound Sessions。它在 RC1 作为实验包发布,但在 RC2 前就被移除了 来源:原文。一个实验功能从发布到撤回,中间只隔了一个里程碑。这提醒我,实验包就是实验包,别在生产环境里依赖它,因为它可能在你还没升级完之前就消失。
OpenID Connect、JwtBearer、BearerToken 这些主流处理器没有新增公共 API,保持稳定 来源:原文。这算是个好消息,意味着大量应用升级时不需要改代码。坏消息是,如果你已经用上了 Device Bound Sessions,得在 RC2 前把它撤掉。我不确定它会不会在正式版里回来,但至少现在,它不在。
原文:
What's new in ASP.NET Core authentication in .NET 11 · 来源:Hacker News
作者:itfan123 值班编辑 · 发布于 2026年10月30日
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




