Windows Identity Foundation(WIF)是微软的一种框架,用于把基于声明的(claims-based)身份验证整合到应用程序中,它现在已经是.NET Framework的一部分。它最初是在2009年11月份作为独立产品发布的。
创建WIF是为了处理访问控制和身份验证更简单,并且使用基于声明的安全令牌跨多个应用程序进行单点登录。它包含了用于构建WCF Web服务和ASP.NET站点的Visual Studio模板,以及ASP.NET登录控件。WIF还让我们可以构建自定义的安全令牌服务(STS),为WS-Federation或WS-Trust协议提供支持。可用的STS提供程序是内建的本地开发STS、一种ADFS2商业提供程序或者是Windows Azure访问控制服务。
WIF与.NET Framework的整合涉及到多种改变:
- 由于有了WIF模型,不建议再使用Windows Communication Foundation(WCF)声明模型。
- Microsoft.IdentityModel中所有类都被移动到适当的.NET程序集中。mscorlib现在包含了主要的声明类:Claim、ClaimsIdentity、ClaimsPrincipal、ClaimTypes和ClaimValueTypes。
- 所有主要的类(WindowsPrincipal、RolePrincipal、GenericPrincipal)都可以支持声明。
- 增加了新的Visual Studio扩展,叫做标识符和访问工具(Identity and Access Tool),用于与STS连接。“增加STS引用”命令不再存在。
- 在Visual Studio 2012中新增了LocalSTS(用于测试)。
- Visual Studio Gallery中提供了WIF的示例项目和工具。