System.IdentityModel 和 System.IdentityModel 之间有什么区别?我应该使用 Microsoft.IdentityModel 哪一个?

发布于 2024-12-12 00:39:02 字数 290 浏览 0 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁人与我共长歌 2024-12-19 00:39:02

当使用基于声明的身份验证/授权时,您将需要使用 Microsoft.IdentityModel,因为它是 Windows 身份框架 (WIF) 的一部分。

System.IdentityModel 声明是 WCF 堆栈的一部分。它用于 WIF 之前的索赔。据我了解,Microsoft.IdentityModel 是构建在 System.IdentityModel 之上的。

WIF 依赖于 System.IdentityModel。根据您正在做的事情,您可能需要两者的参考。

这是取自 Claim 类型(恰好在两个程序集中)的示例:

namespace Microsoft.IdentityModel.Claims
{
    public class Claim
    {
        public Claim(string claimType, string value);
        public Claim(System.IdentityModel.Claims.Claim claim, string issuer);
        ...
    }
}

如果您可以选择使用 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):

namespace Microsoft.IdentityModel.Claims
{
    public class Claim
    {
        public Claim(string claimType, string value);
        public Claim(System.IdentityModel.Claims.Claim claim, string issuer);
        ...
    }
}

If you have the choice of using System.IdentityModel and Microsoft.IdentityModel, always use Microsoft.IdentityModel.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文