Microsoft.IdentityModel与System.IdentityModel

我正在使用Forms Authentication和ASP.NET MVC 2开发基于声明的授权系统。我看到一个名称空间“Microsoft.IdentityModel”提供了许多与其他“System.IdentityModel”相同的东西。

System.IdentityModel

Microsoft.IdentityModel

当function看起来重叠时,为什么这两个命名空间分开存在?

如果您使用的是基于声明的身份validation/授权,则需要使用Microsoft.IdentityModel,因为它是Windows身份框架的一部分。

有关MVC2和使用WIF的指导,我建议您查看模式和实践所做的工作 。 他们有一个体面的MVC样本,我用它作为起点。

Microsoft.IdentityModel由.NET 4.0和之前的版本中的WIF使用。 System.IdentityModel将在.NET 4.5及更高版本中使用。 更多详细信息,请访问http://msdn.microsoft.com/en-us/library/jj157091.aspx