我刚刚开始尝试编写一个联合声明提供程序,我正在使用http://claimsid.codeplex.com/ http://claimsid.codeplex.com/示例作为我的模板。因此,我启动 VS2010 开始我自己的项目,我注意到的第一件事是有一个 System.IdentityModel 和 Microsoft.IdentityModel。当内容添加到 .Net 框架成为“主流”时,通常会发生这种情况。
这里是这样吗?
我应该使用哪一个?
当使用基于声明的身份验证/授权时,您将需要使用 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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)