最近项目需要对OWA(outlook web access)进行集成,通过我们自己的页面登录OWA,在网上找了很久,终于在
Direct OWA Login找到了一个真正可用的版本,无奈呀。
不过在调试过程中还是除了一些小状况:
原代码:
Code
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
function DirectLogin (vstrServer, vstrDomain, vstrUsername, vstrPassword)
{
//var url = "https://" + server + "/exchweb/bin/auth/owaauth.dll";
var strUrl = "https://" + vstrServer + "/exchweb/bin/auth/owaauth.dll";
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
var strExchange =
{destination:'https://' + vstrServer +
'/exchange',flags:'0',forcedownlevel:'0',
trusted:'0',isutf8:'1',username:vstrDomain +
'\\' + vstrUsername,password:vstrPassword};
var myForm = document.createElement("form");
myForm.method="post" ;
myForm.action = strUrl ;
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
for (var varElement in strExchange)
{
var myInput = document.createElement("input") ;
myInput.setAttribute("name", varElement) ;
myInput.setAttribute("value", strExchange[varElement]);
myForm.appendChild(myInput) ;
}
document.body.appendChild(myForm) ;
myForm.submit() ;
document.body.removeChild(myForm) ;
}
由于我们自己建立的owa配置有些不一样,最终修改后能运行的代码是
Code
function DirectLogin(vstrServer, vstrDomain, vstrUsername, vstrPassword) {
var strUrl = "https://" + vstrServer + "/owa/auth/owaauth.dll";
var strExchange = { destination: 'https://' + vstrServer + '/owa',
flags: '0', forcedownlevel: '0',
trusted: '0', isutf8: '1', username:vstrUsername, password: vstrPassword
};
var myForm = document.createElement("form");
myForm.method = "post";
myForm.action = strUrl;
for (var varElement in strExchange) {
var myInput = document.createElement("input");
myInput.setAttribute("name", varElement);
myInput.setAttribute("value", strExchange[varElement]);
myForm.appendChild(myInput);
}
document.body.appendChild(myForm);
myForm.submit();
document.body.removeChild(myForm);
}
主要就是在用户名去掉域名等多处更改就通过了。
呵呵,又学了一招。
Direct OWA Login找到了一个真正可用的版本,无奈呀。
不过在调试过程中还是除了一些小状况:
原代码:
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
由于我们自己建立的owa配置有些不一样,最终修改后能运行的代码是
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
function DirectLogin(vstrServer, vstrDomain, vstrUsername, vstrPassword) {
var strUrl = "https://" + vstrServer + "/owa/auth/owaauth.dll";
var strExchange = { destination: 'https://' + vstrServer + '/owa',
flags: '0', forcedownlevel: '0',
trusted: '0', isutf8: '1', username:vstrUsername, password: vstrPassword
};
var myForm = document.createElement("form");
myForm.method = "post";
myForm.action = strUrl;
for (var varElement in strExchange) {
var myInput = document.createElement("input");
myInput.setAttribute("name", varElement);
myInput.setAttribute("value", strExchange[varElement]);
myForm.appendChild(myInput);
}
document.body.appendChild(myForm);
myForm.submit();
document.body.removeChild(myForm);
}
主要就是在用户名去掉域名等多处更改就通过了。
呵呵,又学了一招。