使用ajax处理www-authentication请求?

时间:2009-04-27 10:32:35

标签: .net ajax authentication

是否可以使用AJAX将凭据传递给请求www-authentication的网络服务器?

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

html标头包含:

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

我想通过从ajax对象调用来访问“幕后”网站,但我不知道如何处理请求身份验证的http标头。

我希望ajax调用能够导致特定用户登录(cookie集),以便用户可以稍后进入该站点并“已经”登录。

这可以按我在这里描述的方式完成吗?

2 个答案:

答案 0 :(得分:5)

您可以在URL中传递用户名和密码,如下所示:

http://username:password@example.com/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:password@example.com/secure', null, function(response) {
            alert(response);
        });
    });
});

</script>

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

答案 1 :(得分:0)

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