我正在使用 Forms Authentication 和 ASP.NET MVC 2 开发基于声明的授权系统。我看到一个命名空间“Microsoft.IdentityModel”提供了许多与另一个“System.IdentityModel”相同的东西。
当功能似乎重叠时,为什么这两个名称空间会分开存在?
我正在使用 Forms Authentication 和 ASP.NET MVC 2 开发基于声明的授权系统。我看到一个命名空间“Microsoft.IdentityModel”提供了许多与另一个“System.IdentityModel”相同的东西。
当功能似乎重叠时,为什么这两个名称空间会分开存在?
Microsoft.IdentityModel 由 WIF 在 .NET 4.0 及之前的版本中使用。System.IdentityModel 将用于 .NET 4.5 及更高版本。更多细节在这里http://msdn.microsoft.com/en-us/library/jj157091.aspx
如果您使用的是基于声明的身份验证/授权,则需要使用 Microsoft.IdentityModel,因为它是 Windows 身份框架的一部分。
有关 MVC2 和使用 WIF 的指导,我建议查看Patterns and Practices所做的工作。他们有一个不错的 MVC 示例,我将其用作起点。