从其它系统登录到SharePoint 2010系统的单点登录

         从其它系统登录到SharePoint 2010系统的单点登录

分类: sharepoint2010

转:http://www.tuicool.com/articles/i22Ibu

以前做的只是使用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()" />     

原文地址:https://www.cnblogs.com/ningang/p/4320433.html