当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>