当sharepoint采用域认证的时候,访问的时候就弹出一个window窗口,要求输入domain\userid和password,用户和=输入后才能登陆成功,很多时候客户不习惯这样的登陆方式,而是习惯在一个页面里输入帐号和密码,点击按钮进行登陆,其实也是可以实现的。当然此文的方法很简单,代码网上也有,只不过提供一种思路。
方法是:新建立一个匿名验证的网站(如果你的sharepoint网站是 http://****/,那么你可以建立一个 http://****:81/的网站) ,建立一个首页(当然这个首页有帐号和密码的输入框,而且可以放一些不需要登陆也可以看的内容,设计得很漂亮),然后当用户输入帐号和密码后采用 Microsoft.XMLHTTP来模拟登陆,具体的代码如下:
方法是:新建立一个匿名验证的网站(如果你的sharepoint网站是 http://****/,那么你可以建立一个 http://****:81/的网站) ,建立一个首页(当然这个首页有帐号和密码的输入框,而且可以放一些不需要登陆也可以看的内容,设计得很漂亮),然后当用户输入帐号和密码后采用 Microsoft.XMLHTTP来模拟登陆,具体的代码如下:
<HTML>
<HEAD>
<TITLE>模拟登陆</TITLE>
</HEAD>
<BODY>

<script type="text/javascript">
var xmlHttp;



function createXMLHttpRequest()
{


if(window.ActiveXObject)
{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}


else if (window.XMLHttpRequest)
{

xmlHttp=new XMLHttpRequest();

}

}



function startRequest()
{
if(userid.value=="")


{
alert("请输入用户名!");
userid.focus();
}
else if(password.value=="")


{
alert("请输入密码!");
password.focus();
}
else


{

createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("GET","http://****",true,userid.value,password.value);
xmlHttp.send(null);
}

}



function handleStateChange()
{


if(xmlHttp.readyState == 4)
{



if(xmlHttp.status == 200)
{

window.location="http://****";

}
else

{
alert("您的用户名或者密码不正确,请联系管理员!");
}

}


}
</script>
</OBJECT>

<label>userid
<input type="text" name="userid">
</label>
<p>
<label>password
<input type="password" name="password">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交" onClick="javascript:startRequest();">
</label>
</p>

</BODY>
</HTML>
<HEAD>
<TITLE>模拟登陆</TITLE>
</HEAD>
<BODY>
<script type="text/javascript">
var xmlHttp;


function createXMLHttpRequest()
{

if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}

else if (window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}


function startRequest()
{
if(userid.value=="")

{
alert("请输入用户名!");
userid.focus();
}
else if(password.value=="")

{
alert("请输入密码!");
password.focus();
}
else

{
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("GET","http://****",true,userid.value,password.value);
xmlHttp.send(null);
}
}


function handleStateChange()
{

if(xmlHttp.readyState == 4)
{


if(xmlHttp.status == 200)
{
window.location="http://****";
}
else
{
alert("您的用户名或者密码不正确,请联系管理员!");
}
}

}
</script>
</OBJECT>
<label>userid
<input type="text" name="userid">
</label>
<p>
<label>password
<input type="password" name="password">
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="提交" onClick="javascript:startRequest();">
</label>
</p>
</BODY>
</HTML>
本文介绍如何通过创建匿名验证网站并使用Microsoft.XMLHTTP模拟登录SharePoint,以实现用户在网页上直接输入账号密码进行登陆的方式,提供了一种替代传统域认证登陆的解决方案。
&spm=1001.2101.3001.5002&articleId=7713846&d=1&t=3&u=76273d44015740929ca5c6eee3d610ec)
2275

被折叠的 条评论
为什么被折叠?



