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