System.IdentityModel 和 System.IdentityModel 之间有什么区别?我应该使用 Microsoft.IdentityModel 哪一个?
我刚刚开始尝试编写一个联合声明提供程序,我正在使用 http://claimsid.codeplex.com/ 示例作为我的模板。因此,我启动 VS2010 开始我自己的项目,我注意到的第一件事是有一个 System.IdentityModel 和 Microsoft.IdentityModel。当内容添加到 .Net 框架成为“主流”时,通常会发生这种情况。
这里是这样吗?
我应该使用哪一个?
I just starting out trying to write a federated claims provider I'm using the http://claimsid.codeplex.com/ examples as my template. So I start up VS2010 to begin my own project and the first thing I notice is that there is a System.IdentityModel as well as Microsoft.IdentityModel. This usually happens when stuff gets added to the .Net framework becoming 'mainstream'.
Is this the case here?
Which one should I use?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当使用基于声明的身份验证/授权时,您将需要使用 Microsoft.IdentityModel,因为它是 Windows 身份框架 (WIF) 的一部分。
System.IdentityModel 声明是 WCF 堆栈的一部分。它用于 WIF 之前的索赔。据我了解,Microsoft.IdentityModel 是构建在 System.IdentityModel 之上的。
WIF 依赖于 System.IdentityModel。根据您正在做的事情,您可能需要两者的参考。
这是取自
Claim
类型(恰好在两个程序集中)的示例:如果您可以选择使用 System.IdentityModel 和 Microsoft.IdentityModel,请始终使用 Microsoft.IdentityModel。
When using Claims Based authentication/authorization, then you will need to use Microsoft.IdentityModel as that is part of the Windows Identity Framework (WIF).
The System.IdentityModel claim is part of the WCF stack. It was used for Claims before WIF. From what I understand Microsoft.IdentityModel is built on top of System.IdentityModel.
WIF has a dependency on System.IdentityModel. Depending on what you are doing you might need a reference to both.
This is an example, taken from the
Claim
type (that happens to be in both assemblies):If you have the choice of using System.IdentityModel and Microsoft.IdentityModel, always use Microsoft.IdentityModel.