当前位置: 代码迷 >> SharePoint >> sharepoint 2013 js代码不兼容的有关问题
  详细解决方案

sharepoint 2013 js代码不兼容的有关问题

热度:123   发布时间:2016-05-02 07:03:28.0
sharepoint 2013 js代码不兼容的问题
下面的代码是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,就说明登陆成功了
------解决方案--------------------
引用:
Quote: 引用:

form认证,自己写登录页了吗?  你所说的缓存问题应该是自己写出来的问题

写了,也按说明配置了,就是设置权限的时候找不到单个用户,再有一个问题就是,登录后显示的名称,不是域中的显示名,而是带有域的登录名。哎……改来改去,哪个都有问题。

显示名需要配置SPP去同步的,默认的就是那样的
  相关解决方案