Web应用程序一般采用AD&Form的方式进行用户身份验证,在处理单点登陆的时候需要针对这两种情况进行处理
1、Form验证的情况
var req = new ActiveXObject("Microsoft.XMLHTTP");
var userInfo = "userID=**&password=**";
//userid为录入用户名的控件名,password当然就是...
req.open("POST","loginurl",false);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send(userInfo);
window.location.href = "";//这个Url为登陆成功后的地址
2、AD验证
var req = new ActiveXObject("Microsoft.XMLHTTP");
req.open("GET" ,hostURL , true, userid, pw);//userid为AD用户名,pw为AD密码
req.send();
3、清除认证信息
document.execCommand("ClearAuthenticationCache");
注:
如果部分浏览器错现错误的话试着用如下方法解决:
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerMainFeatureControlFEATURE_HTTP_USERNAME_PASSWORD_DISABLE]
"iexplore.exe"=dword:00000000
"explorer.exe"=dword:00000000
采用这种方式有个缺点就是暴露了用户的登陆资料,要避免这个缺陷自己琢磨一下技巧吧