Passport 你的网站(在你的WebSite上实现MS Passport )下

** Passport 你的网站 (下) **

** -------(在你的 WebSite 上实现 MS Passport ) **


小气的神 2001-11-12


Article Type: In-Depth

难度等级: 4/9

版本: 1.01

3. 切换并接触一下 Microsoft® .NET My Services Manager 。

这一节中,我们去接触一下 Microsoft® .NET My Services Manager ,为了方便我用了 SDK 带的例子 AdventureWorks Samples (这个例子展示一些很实际的技巧和作法),其实我只使用了一些图片。另外 MS 也将这个例子放到了 Internet 上,你可以通过下面的地址去浏览和测试: http://adventureworks.passport.com/

目前的 Microsoft® .NET My Services Manager 还只能说是一个 .NET My Services 的雏形,像一个信息存储的小单元,存放有关你的 Application 的信息和设置,基本上它会成为以后 .NET My Services application 的一个组成部分。原来的组件变成了现在的 WebService ,一些共享的信息无法放在注册表里了,有了这个 .NET My Services Manager 你可以存放许多必要的信息。另外根据 Passport 的规范,用户登录一次所有“ participating Microsoft ® .NET Passport site ”的 信息都是共享的。另外各个 Passport site 之间可能会相互调用各自提供的 WebService 来实现自己 Site 的功能。所以 MS 设置了这个数据库,这样每个 .NET My Services 应用都将登记到这个数据库中, Passport 也就成了一个很核心和重要的入口和组成部分,每个 .NET My Services Application 都会在这个数据库中拥有一个 SiteID ,并且每个 SiteID 下的信息保证除了本身 SiteID 之外其他 SiteID 可以共享和使用。可以想像如果没有这个数据库和 Passport ,即使每个网站上暴露的 WebService 或 .NET My Services 恐怕不是每个人都敢调用它。 Microsoft® .NET My Services Manager 也设置了开发和发布产品的设置,方便了你的调试。从 Preproduction rolled into Production 需要经过 MS 的审核, Sign a .NET Services agreement ,之后你的 Application 正式发布。

值得高兴的是目前这些存储空间和 SiteID 的申请是免费的。你可以通过一个普通的有效 Passport 来申请得到。不过这个申请过程是极其痛苦和漫长的。你需要经过五个页面,然后需要填写下面的必选项目:

** Technical Contact's First Name: **

** Last Name: **

** Title: **

** Department: **

** Address1: **

** Country: **

** Phone: **

** E-Mail: **

** Web Site Title ** ** : ** ** **

** Domain Name ** ** : ** ** **

** Production Domain Name : **

** Default Return URL: **

** Privacy Policy URL: **

** Cobrand Image URL: ** ** ( ** ** size ** ** : ** ** 468 x 60 ** ** ) ** ** **

** Cobrand Image URL: ** ** ( ** ** size ** ** : ** ** 102 X 80 ** ** ) ** ** **

** Cobrand Instruction Text: **

** Expire Cookie URL **

如果成功你会获得一个 SiteID ,并且建立好一个 .NET My Services Application 。好吧,去这个地址申请一个: https://siteservices.passport.com/

而我利用的是 AdventureWorks Samples 中的两幅图片 awbanner468x60.jpg 和 aw_header102x80.gif, 把它填写在 Cobrand Image URL 选项框中。

成功后你需要再次登录,选择你的 .NET My Services Application ,然后选择 Manage My Applications, 选择 Download a Key ,之后可以获得一个 exe 文件,在命令符下执行:

Partner###_#.exe /addkey

Partner####.exe /makecurrent /t 0 ( #### 和你的 SiteID 有关)

然后将你的 IIS 服务停止。启动 Passport Administration Utility ,将其中的 SiteID 从 0 改成你的 SiteID ,重新启动你的 IIS 服务。

然后我是先用 Passport SDK 的自带的 Passport Test 进行测试,你可以发现原来的 MS 的 Logo 变成了你在 Cobrand Image URL 中设置的那副图了 :

My Passport

最好能用 AdventureWorks Samples 来测试一下,这个程序考虑得比较周到,会自动的从注册表中获得 SiteID 的值。下面的运行的结果。

AdventureWorks Samples

你会发现原来的 URL

http://current-login.passporttest.com/login.srf?lc=1033& id=1 &ru=www.yoursite.com&tw=14400&kv=1&ct=1005697965&ems=1&ver=2.0.0248.1&tpf=2bad0084f7d730e36e8c74498b3a6cdd

变成了

http://current-login.passporttest.com/login.srf?lc=1033& id=yourSiteID &ru=www.yoursite.com&tw=14400&kv=1&ct=1005697965&ems=1&ver=2.0.0248.1&tpf=2bad0084f7d730e36e8c74498b3a6cdd

lc 是语言版本, id 就是 SiteID ; ru 是你成功返回的 URL , tw 是参数

(另外注册 SiteID 时上面的许多 URL 或 Domain Name 需要你输入 www.yoursite.com , 如果你是在本机由没有 www.yoursite.com , 你可以这样试一下,修改你的 hosts 文件,将

127.0.0.1 localhost 修改成

127.0.0.1 www.yoursite.com

根据第二节中的描述 Passport Server 需要在你的机器上寻找 Cookie )

最后祝你顺利。

未来任何想要和 .NET My Services 的交互或互操作,必须先实现 Passport 的验证和授权。 Passport 已成为一种力量,迅速和认同者结盟同时也遭遇到 MS 反对者的对抗,不过有一点是清楚的:这一时刻, Microsoft 走在所有竞争者和反对者的前面。

而最后不论 Passport 和 .NET My Services 是否能取得成功,我们开发 Internet 和 Web 的方式已经发生了变化,这势必影响到和 Web 交互的使用者和其形成的商业模式。


特别:

以上文字和图片涉及其他人的隐私和个人权利,如非被授权或经本人同意,任何网站或期刊请不要刊登、转载、改编、转贴或已其他形式进行传播。以上所有文字和图片只用于内部交流,不作任何新闻发表和商业用途。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus