Passport 身份验证是由 Microsoft 提供的集中身份验证服务,该服务为成员站点提供单一登录和核心配置文件服务。由于访问新的受保护资源或站点时不再需要登录,所以它有益于用户。如果希望您的站点与 Passport 身份验证及授权兼容,则应该使用该提供程序。本主题提供一些有关 Microsoft .NET Passport 及其 ASP.NET 支持的介绍性材料。有关更多信息,请参见位于 http://www.passport.com/business 的 Passport 文档。要访问该文档,必须获取 Passport 并注册。
Passport 是基于 Cookie 的身份验证服务。使用 Passport 身份验证的示例事务对话可能类似于下面的内容:
- 客户对受保护资源(如 http://www.contoso.com/default.aspx)发出 HTTP GET 请求。
- 检查客户的 Cookie 是否具有现有的 Passport 身份验证票。如果站点找到有效的凭据,则站点对该客户进行身份验证。如果请求不包括有效的身份验证票,则服务器返回状态代码 302 并将客户重定向到 Passport 登录服务。响应在查询字符串中包含一个 URL,该 URL 被发送到 Passport 登录服务以便将客户定向回原始站点。
- 客户遵循重定向,向 Passport 登录服务器发出一个 HTTP GET 请求,并传输来自原始站点的查询字符串信息。
- Passport 登录服务器向客户提供登录窗体。
- 客户填写窗体并使用安全套接字层 (SSL) 通过 POST 发送回登录服务器。
- 登录服务器对用户进行身份验证并将客户重定向回原始 URL (http://www.contoso.com/default.aspx)。响应在查询字符串中包含一个加密的 Passport Cookie。
- 客户遵循重定向并再次请求原始的受保护资源,这一次使用 Passport Cookie。
- 在起始服务器上,PassportAuthenticationModule 检测是否存在 Passport Cookie 并测试身份验证。如果成功,则该请求通过身份验证。