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中设置的那副图了:
最好能用AdventureWorks Samples来测试一下,这个程序考虑得比较周到,会自动的从注册表中获得SiteID的值。下面的运行的结果。
你会发现原来的URL
变成了
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交互的使用者和其形成的商业模式。
特别:
以上文字和图片涉及其他人的隐私和个人权利,如非被授权或经本人同意,任何网站或期刊请不要刊登、转载、改编、转贴或已其他形式进行传播。以上所有文字和图片只用于内部交流,不作任何新闻发表和商业用途。