从其它系统登录到SharePoint 2010系统的单点登录
以前做的只是使用SharePoint的单一登录,用SharePoint去登录其他的系统,现在要反过来,用Form认证的系统来登录SharePoint。
我们都知道,SharePoint使用的是域认证系统,登录到SharePoint系统上,用户必须要有一个域账号。但是这个域账号跟别的账号不一样。它的密码是不可能获取到的。这也就造成了其它系统和SharePoint系统的整合的困难。
我们大部分都会把SharePoint系统作为主系统来用,即使有别的系统,也是从SharePoint系统去登录到别的系统来用。在SharePoint系统中去登录别的系统,这个很容易实现。因为别的系统大部分用户名和密码都是可以获取到的,所以实现起来比较容易。
而从别的系统登录到SharePoint系统中,相对来说,有一定的困难,主要原因就是域账号很难得到。这样和别的系统形不成统一。
但是在这里可以使用AJAX技术,很巧妙的实现这种功能,且非常容易。
首先要在登录页面加入jquery-1.4.1.js的引用。因为本次使用的AJAX技术来自Jquery。还是贴代码吧:
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> function InitAjax() { var ajax = false; try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { ajax = false; } } if (!ajax && typeof XMLHttpRequest != 'undefined') { ajax = new XMLHttpRequest(); } return ajax; } function Login() { try { var strName = '域名\用户名'; var strPWD = '密码'; var location = 'SharePoint站点地址'; var ajax = new InitAjax(); ajax.open('post', location, false, strName, strPWD); ajax.send(); if (ajax.status == 200) { window.location.href = location; } } catch (e) { } } </script>
上面的脚本代码完成之后,使用一个button即可实现登录:
<input type="button" value="登录" onclick="Login()" />