天天看点

WIF, Windows 身份验证基础

WIF(Windows Identity Foundation)是用于构建标识应用程序的框架。该框架将WS-Trust和WS-Federation 协议抽象化,并向开发人员呈现用于构建安全令牌服务和声明感知应用程序的 API。应用程序可以使用WIF处理安全令牌服务颁发的令牌,并在Web应用程序或Web服务中,根据标识做出决策。

WIF具有以下主要功能:

1)        构建声明感知应用程序(信赖方应用程序)。

WIF可帮助开发人员构建声明感知应用程序。 除了提供新的声明模型,它还为应用程序开发人员提供了一组丰富的 API,帮助他们根据声明做出用户访问决策。无论开发人员选择在ASP.NET 还是 WCF环境下构建应用程序,WIF都为他们提供一致的编程体验。

2)        Visual Studio模板。

WIF提供了适用于声明感知 ASP.NET 网站和 WCF Web 服务应用程序的内置 Visual Studio 模板,可缩短熟悉基于声明的编程模型的学习时间。

3)        在声明感知应用程序和 STS之间轻松建立信任。

WIF提供了一个名为 FedUtil 的实用工具,允许在声明感知应用程序和 STS(如 ADFS 2.0 和LiveID STS)之间轻松建立信任。FedUtil支持ASP.NET 和 WCF 应用程序。它还与Visual Studio 集成,这样在解决方案资源管理器中右键单击项目,然后选择“添加STS引用”菜单项即可调用,或者在 Visual Studio 中通过“工具”菜单调用。

4)        ASP.NET

ASP.NET 控件可简化ASP.NET页面的开发,该页面用于构建声明感知 Web应用程序。

5)        声明和 NT 令牌之间的转换。

WIF包括一个Windows服务,该服务可作为声明感知应用程序和基于NT令牌的应用程序之间的桥梁。 它为开发人员提供了将声明转换为NT令牌标识的简单方法,得以从声明感知应用程序访问需要基于 NT 令牌的标识的资源。

6)        在声明感知应用程序中构建标识委派支持。

WIF提供了跨多个服务边界保持原始请求者标识的功能。在框架中使用“ActAs”或“OnBehalfOf”函数可实现此功能,开发人员可利用此功能在声明感知应用程序中添加标识委派支持。

7)        构建自定义安全令牌服务 (STS)。

WIF使得构建支持 WS-Trust 协议的自定义安全令牌服务 (STS) 变得极其容易。此类STS也被称为主动 STS。

此外,该框架还为构建另一类 STS 提供支持,该STS支持 WS-Federation 以启用 Web 浏览器客户端。此类STS也被称为被动STS。

WIF主要支持以下方案:

方案1      联合身份验证。

WIF可在两个或多个伙伴间构建联合身份验证。 它对构建声明感知应用程序 (RP) 和自定义安全令牌服务 (STS) 的支持可帮助开发人员实现此身份验证方案。

方案2      标识委派。

通过WIF可轻松跨服务边界维护标识,以便开发人员可实现标识委派身份验证方案。

方案3      升级身份验证。

应用程序内不同资源的身份验证要求可能各不相同。 使用 WIF,开发人员可以构建可能需要增量身份验证要求的应用程序,例如:初始登录时使用用户名/密码身份验证,然后升级至智能卡身份验证。

通过使用 WIF,可以更轻松地从本主题所述的基于声明的标识模型中获益。

WIF令牌类型包括:SAML 1.1、SAML 2.0、X.509、UPN、Windows(Kerberos或NTLM)、RSA密钥对。

继续阅读