微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我可能不是第一个问,但我们现在应该使用哪一个?据我了解,它开始于一个非常小的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预发布了一个JSON Web令牌处理程序作为nuget,它依赖于Microsoft.IdentityModel和System.IdentityModel. (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 Framework中.最极端的例子,IClaimsPrincipal接口已被一个ClaimsPrincipal基类所取代,现在所有.NET IPrincipal实现都是从这个基类派生的 – 这直接在mscorlib.dll中.因此,System.IdentityModel等名称空间.

预发布的JWT Handler(nuget)当然是一个带外版本.如果它成为核心.NET vNext(假设当时JWT标准已经完成),我将不会感到惊讶,但在此之前,框架命名准则要求JWTSecurityTokenHandler等驻留在Microsoft.IdentityModel中.

我能理解你的困惑;我得到了帮助,因为我可以从头开始只使用.NET 4.5来担心 – 现在.

原文地址:https://www.jb51.cc/windows/365015.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐