单点登录到sharepoint

原文链接: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>
02  
03 <script type="text/javascript">
04  
05     function InitAjax() {
06  
07         var ajax = false;
08  
09         try {
10  
11             ajax = new ActiveXObject("Msxml2.XMLHTTP");
12  
13         }
14  
15         catch (e) {
16  
17             try {
18  
19                 ajax = new ActiveXObject("Microsoft.XMLHTTP");
20  
21             }
22  
23             catch (E) {
24  
25                 ajax = false;
26  
27             }
28  
29         }
30  
31         if (!ajax && typeof XMLHttpRequest != 'undefined') {
32  
33             ajax = new XMLHttpRequest();
34  
35         }
36  
37         return ajax;
38  
39     }
40  
41     function Login() {
42  
43         try {
44  
45             var strName = '域名\\用户名';
46  
47             var strPWD = '密码';
48  
49             var location = 'SharePoint站点地址';
50  
51             var ajax = new InitAjax();
52  
53             ajax.open('post', location, false, strName, strPWD);
54  
55             ajax.send();
56  
57             if (ajax.status == 200) {
58  
59                 window.location.href = location;
60  
61             }
62  
63         }
64  
65         catch (e)
66  
67     { }
68  
69     }
70  
71 </script>

上面的脚本代码完成之后,使用一个button即可实现登录:

<input type="button" value="登录" onclick="Login()" />

posted @ 2013-07-25 16:42  【上海】Peter  阅读(1011)  评论(0编辑  收藏  举报