是否可以使用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集),以便用户可以稍后进入该站点并“已经”登录。
这可以按我在这里描述的方式完成吗?
答案 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状态保存。