首页 > 开发 > 综合 > 正文

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

2024-07-21 02:16:44
字体:
来源:转载
供稿:网友
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: size468 x 60
cobrand image url: size102 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
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交互的使用者和其形成的商业模式。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表