这几天想做这么个东西,想统计我的MS SPACE上blog的回复,但是由于我的SPACE权限是设置为private的,所以需要通过授权的Passport登录后才能访问。
所以想请问,如何编程登录passport?MS有提供相关的DLL吗?还是需要通过其它什么途径?
或者,解决我的需求有没有其它更好的方法?

解决方案 »

  1.   

    http://msdn.microsoft.com/library/default.asp?url=/downloads/list/websrvpass.asp
    http://www.microsoft.com/net/services/passport/developer.asp
      

  2.   

    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 并测试身份验证。如果成功,则该请求通过身份验证。 
    在起始服务器上使用所提供的票对该站点受保护资源的后续请求进行验证。Passport 还会制定有关票的到期及在其他成员站点上重复使用票的条款。Passport 使用“三重 DES”加密方案。当成员站点注册到 Passport 服务时,将被授予站点特定的密钥。Passport 登录服务器使用该密钥对站点间传递的查询字符串进行加密和解密。注意   若要使用 Passport 身份验证,在使用前必须将您的站点注册到 Passport 服务,接受许可协议并安装 .NET Passport SDK。
    ASP.NET PassportAuthenticationModule 为 ASP.NET 应用程序提供 .NET Passport SDK 的包装,并从名为 PassportIdentity 的 IIdentity 派生类提供 Passport 身份验证服务和配置文件信息。与使用 WindowsIdentity 的情况相同,处理 PassportAuthentication_OnAuthenticate 事件的主要目的是将自定义的 IPrincipal 对象附加到上下文。名为 PassportIdentity 的特殊 IIdentity 派生类提供一个到 Passport 配置文件信息以及加密和解密 Passport 身份验证票的方法的接口。在 ASP.NET 应用程序中实现 Passport 身份验证 从 http://www.passport.com/business 下载、安装并配置 .NET Passport SDK。您必须完成注册表单才能获得 SDK。Windows Server 2003 包括 .NET Passport SDK,不需要执行此步骤。 
    如下所示在应用程序配置文件中将 Passport 设置为身份验证模式。 
    <authentication mode= "Passport"/>
    使用 Passport 文档和 .NET Passport SDK 功能,实现 Passport 身份验证和授权。 
    有关使用 Passport 身份验证的 ASP.NET 页的代码示例,请参见位于 http://msdn.microsoft.com/library 的文章“使用 ASP.NET 创建 Microsoft .NET Passport 身份验证 Web 站点”。更详细的,自己去msdn看吧http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconthepassportauthenticationprovider.asp
      

  3.   

    在ASP.NET 2.0中提供了这个API.你只需要做二次开发就可以了