下面的代码是jjs实现的Ad域用户验证,代码所在的文件在_layouts文件夹下面,登录时直接打开自己的登陆页面,在IE中没有运行没有问题,在其他浏览器中,会出现问题。
只试了搜狗和淘宝浏览器,
问题1:用户名和密码正确,能进入网站,用同样的页面切换用户,其他用户用户名和密码正确,进入网站后还是上一次的用户。换不了用户。
问题2:如果用户名和密码错误,会出现系统的默认的登录框,或者直接进入网站,用户是之前曾经登陆的用户。
请教各位,是哪里出了问题,是代码兼容的问题吗?怎样才能让其他浏览器正常访问呢???????
var strName = userid.value;//登陆的名字建议使用:域\名字
var strPWD = password.value;//登陆密码
var location = '/login/default.aspx';
var auth=null;
try
{
if (window.ActiveXObject)
auth = new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest)
auth = new XMLHttpRequest();
}
catch(e)
{alert(e)}
strName = strName.toLowerCase();
if (strName.indexOf("\\") < 0) {
strName = "domain\\" + strName;
}
auth.open('post', location, false, strName, strPWD);
auth.send();
switch (auth.status) {
case 200: window.location.href = '/login/default.aspx'; // 登陆页面
var c = retUrl("Resource");
if (c == null)
window.location.href = '/SitePages/default.aspx';
else
window.location.href = c;
break;
case 401:
{
document.getElementById('error').innerText = "帐号或密码错误!";
}
break;
default: document.getElementById('error').innerText = '抱歉,请再试一次!';
}
------解决方案--------------------
不是代码的问题。
你在别机器上试试。
你的系统是什么? 遇到过这是AD策略的问题。
------解决方案--------------------
IE能用就可以了,兼容不了所有的浏览器
chrome和firefox的话,看看js运行的时候哪里不对,可以尝试修复
------解决方案--------------------
怎么可能调试没问题,如果auth.status返回200,就说明登陆成功了
------解决方案--------------------
显示名需要配置SPP去同步的,默认的就是那样的