代码改变世界

moss和exchange 2007的sso

2009-09-30 10:24  Virus-BeautyCode  阅读(1581)  评论(4编辑  收藏  举报

      moss版本:2007
      exchange版本:2007
      开发工具:vs2008
      最近一直在做基于moss的应用开发,有这样一个需求。
      因为客户同时上了exchang2007,想在moss网站上显示exchange邮箱信息,这方面可以通过moss自带的owa webpart来配置实现,但是客户又说了既然登录了moss,就不要登录exchange了吧(因为自带的owa webpart还需要用户输入用户名和密码)。那就需要sso了,这里我们就借助moss的sso。moss的sso只是帮助用户存储应用和应用对应的用户名/密码,例如存储了需要sso的应用包括gmai,163mail,应用名/用户名/密码包括gmail/zhangsan/zhangsan,gmail/lisi/lisi/,163mail/zhangsan/zhangsan,163mail/lisi/lisi,然后张三需要登录gmail的时候就会从应用gmail下面查找有无zhangsan的信息,如果有就取出来存储的张三的gmail的用户名和密码,然后我们自己post到gmail去,实现单点登录。至于具体的配置我就不详述了,网上很多,可以参考 http://blog.csdn.net/RainyLin/archive/2009/05/20/4204491.aspx
      http://microsoft.cnfan.net/sps/3333.html
      我这里给出的是一些代码,首先是我们post数据的html页面。思路是我们通过一个html页面post数据到exchange的http://mail.moss.com/owa/auth/owaauth.dll,因为你会发现owa/auth下面的logon.aspx页面就是post数据到owaauth.dll去处理的,所以我们也post到这个dll处理。同时注意这个文件的输入框的name要和他的logon.aspx页面一致。
      
owaredirect.html

      这个html页面是通过iframe被嵌入到一个ascx中的,ascx文件代码如下
      
LoginMail.ascx
Code
      后台的代码如下