gpt4 book ai didi

identity - .NET 4.5 中的 microsoft.identityModel 和 system.identityModel 有什么区别

转载 作者:行者123 更新时间:2023-12-04 03:52:58 32 4
gpt4 key购买 nike

我可能不是第一个问但我们现在应该使用哪个?据我了解,它从一个非常小的 开始。系统 .IdentityModel 用于 WCF。然后是微软 .IdentityModel 类增加了很多。这是 http://social.technet.microsoft.com/wiki/contents/articles/1898.aspx#v3q10 中的情况

但是现在在 4.5 中,我看到了 系统 .IdentityModel 几乎包含 中的所有类微软 .IdentityModel(虽然似乎进行了一些重构,并且 web.config 中的配置略有不同)。
现在微软预发布了一个 JSON Web Token Handler 作为 nuget,它依赖于 微软 .IdentityModel AND 系统 .身份模型。 (JWTSecurityTokenHandler 驻留在 Microsoft.IdentityModel.Tokens.JWT 中,派生自 System.IdentityModel.Tokens.SecurityTokenHandler)。

这变得相当困惑。有人知道我应该使用哪一个吗?

最佳答案

WIF 1.0 版本,即您从 Microsoft 下载“Windows Identity Foundation”时获得的版本,面向 .NET 3.5(并且与 .NET 4.0 兼容)。由于它是一个带外版本,所有类型都必须存在于非核心命名空间( Microsoft .IdentityModel 等)和非核心程序集中。

当前的 WIF 4.5 版本(如果我理解正确,它们会在版本编号中跳转)已直接集成到核心 .NET 4.5 框架中。最极端的例子,IClaimsPrincipal 接口(interface)已被 ClaimsPrincipal 基类取代,所有 .NET IPrincipal 实现现在都从该基类派生 - 这直接在 mscorlib.dll 中。因此 系统 .IdentityModel 等命名空间。

当然,预发布的 JWT 处理程序 (nuget) 是一个带外版本。如果它成为核心 .NET vNext(假设 JWT 标准到那时最终确定),我一点也不感到惊讶,但在此之前,框架命名指南要求 JWTSecurityTokenHandler 等驻留在 中。微软 .身份模型。

我能理解你的困惑;我可以从头开始我的项目,只需要担心 .NET 4.5,这让我受益匪浅——现在。 :)

关于identity - .NET 4.5 中的 microsoft.identityModel 和 system.identityModel 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13575766/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com