2009-04-27 86 views
5

是否有可能使用AJAX将证书传递给请求www认证的网络服务器?使用ajax处理www认证请求?

我想登录到使用.NET Bsic www认证的网站,并使用ajax传递凭证。当用浏览器访问服务器时,浏览器会提示用户使用认证/登录窗口。

HTML标头包含此:

WWW-Authenticate: Basic 
realm="hosting.xp" 
MicrosoftSharePointTeamServices: 6.0.2.6568 
X-Powered-By: ASP.NET 

我想从一个Ajax调用对象它来访问网站“幕后”,但我不知道如何处理HTTP标头的请求认证。

我想Ajax调用导致被记录在(Cookie集),使用户可以在以后procedd到现场,是一个特定的用户已“登录。

可以这样做我在这里描述的方式?

回答

5

您可以在URL中传递用户名和密码,就像这样:

http://username:[email protected]/secure

下面是用jQuery的例子:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('a.logMeIn').click(function(){ 
     $.get('http://username:[email protected]/secure', null, function(response) { 
      alert(response); 
     }); 
    }); 
}); 

</script> 

<a href="#" class="logMeIn">Log me in!</a> 
+0

如果密码比其他的东西这会带来问题字母数字字符......你如何解决这个问题? – 2010-07-21 11:48:00

0

使用http身份验证不需要cookie,凭据由浏览器保存,或者在您的情况下用JavaScript状态保存初始请求。