首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >microsoft.identityModel和system.identityModel在.NET 4.5中有什么区别?

microsoft.identityModel和system.identityModel在.NET 4.5中有什么区别?
EN

Stack Overflow用户
提问于 2012-11-27 00:51:44
回答 2查看 5.6K关注 0票数 13

我可能不是第一个问的人,但我们现在应该用哪一个呢?据我所知,它从WCF的一个非常小的System.IdentityModel开始。然后是Microsoft.IdentityModel类,它增加了更多的内容。这就是http://social.technet.microsoft.com/wiki/contents/articles/1898.aspx#v3q10的情况

但是现在在4.5中,我看到System.IdentityModel几乎拥有来自Microsoft.IdentityModel的所有类(尽管似乎已经进行了一些重构,并且web.config中的配置略有不同)。

现在,微软预发了一个基于Microsoft.IdentityModel和System.IdentityModel.的JSON令牌处理程序作为nuget。( System.IdentityModel.Tokens.SecurityTokenHandler).派生的JWTSecurityTokenHandler驻留在Microsoft.IdentityModel.Tokens.JWT中

这越来越让人困惑了。有人知道我应该用哪一种吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-05 04:48:14

WIF1.0版本是您从微软下载“Windows”时得到的,它针对的是.NET 3.5 (并且与.NET 4.0兼容)。由于它是带外发行版,所有类型都必须驻留在非核心名称空间(Microsoft.IdentityModel,等。)和非核心组件。

当前的WIF4.5版本(如果我理解正确的话,它们跳入版本号)已经直接集成到核心的.NET 4.5框架中。最极端的例子是,IClaimsPrincipal接口已经被一个ClaimsPrincipal基类所取代,现在所有的.NET IPrincipal实现都是从这个基类派生出来的--这是直接在mscorlib.dll中实现的。因此出现了System.IdentityModel,等名称空间。

当然,预发布的JWT Handler (nuget)是一个带外发行版.如果它进入核心.NET vNext (假设JWT标准在那时已经完成),我一点也不感到惊讶,但在此之前,框架命名指南要求JWTSecurityTokenHandler等驻留在JWTSecurityTokenHandler中。

我可以理解您的困惑;我得到了帮助,因为我可以在我的项目上从头开始,现在只需要担心.NET 4.5。:)

票数 11
EN

Stack Overflow用户

发布于 2017-12-13 07:03:09

WIF类在Microsoft.IdentityModel WIF 3.5中的名称空间下收集,现在分布在以下名称空间中:System.Security.Claims、System.ServiceModel.Security和WIF 4.5中的System.IdentityModel命名空间。此外,一些WIF 3.5名称空间在WIF 4.5中被整合或完全删除。

参考资料:https://learn.microsoft.com/en-us/dotnet/framework/security/namespace-mapping-between-wif-3-5-and-wif-4-5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13575766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档