博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Exchange开发(二):如何集成应用程序直接登录到OWA?

Posted on 2004-11-09 12:35  jeseeqing  阅读(5537)  评论(7编辑  收藏  举报

 

Exchange中,Exchange本身带了OWA,客户端可以直接通过http://ServerName/Exchange/UserName来访问。以下描述了怎样在页面中集成用户名和密码直接登录到OWA,而不让Windows弹出"Enter network password”对话框。

 

  1. 在服务器端配置好SSL安全通道,以启用安全通道;关于如何配置SSL安全通道,请参阅 http://support.microsoft.com/default.aspx?scid=kb;EN-US;218445
  2. OWA的认证方式设为“Windows集成身份验证”,不要设为“基于表单的身份验证”(使用Exchange系统管理器);
  3. 使用xmlhttp对象发送访问请求,脚本代码如下:

 

//jeseeqing 2004.10.28

//exchangeURL: for example https://VirtualAD.ExchangeTest.Com/Exchange/jeseeqing

//userNameuser name

//password: user password

function RedirectExchangeURL(exchangeURL,userName,password)

{

var xmlRequest= new ActiveXObject("msxml2.xmlhttp");;

xmlRequest.open("get",exchangeURL,false,userName,password);

auth.send();

 

switch(auth.status)

{

case 200:

window.location.href = exchangeURL;

break;

case 401:

alert("Invalid user or password。");

break;

default:

alert("Sorry, Exchange Server is busy, please try later!");

}

}

  1. 增加一个ASPX页面,在页面的Page_Load事件中注册此脚本,并且传入指定的参数,则会自动跳转到指定的Exchange页面中。

 

不过以上代码有点安全问题,如果直接将用户名和密码传入客户端脚本,则用户通过查看网页的源代码可以获取明文的用户名或密码,可以通过在服务器端将用户名和密码加密的方式来保护。

 

 

可能会出现的问题:

  1. 如果客户端所请求的页面没有加入到信任站点中,则可能出现"Permission Denied"错误

解决方法:将所访问的页面加入到信任站点

  1. 如果安全证书没有配置好,可能会弹出“Security Alert”对话框,用户必须单击“yes"才能进入

解决方法:参考我的前一篇文章 http://cnblogs.com/jeseeqing/archive/2004/11/08/61530.html

  1. 可能会出现“Invalid Syntax Error

解决方法从Microsoft下载XML的补丁,请参阅Microsoft Support文章: http://support.microsoft.com/default.aspx?kbid=832414

我当时开发时,以上三个问题都碰到了,大部分都是与security相关的问题。