我正在尝试通过标准网络表单和js使用基本身份验证登录。
当前代码似乎正确验证(RE:用户触发Authenticated警报,非用户失败)但重定向到安全资源会获得浏览器Basic Auth登录提示?
这里是否有我遗漏的东西允许通过JS进行初始身份验证,以便重定向可以绕过默认的登录提示?
- 登录页面位于同一域的根目录 - 安全页面是一个更深的目标。
var username = $("input#username").val();
var password = $("input#password").val();
var secureURL = "https://example.com/secure/"
$.ajax
({
type: "GET",
url: secureURL,
headers: {
"Authorization": "Basic " + btoa(username + ":" + password)
}
})
.done(function(){
alert('Authenticated!')
window.location.href = secureURL;
})
.fail(function(){
alert('Error!')
});
});
修改 我想我明白了。这是一个似乎按预期工作的ajax请求体。
$.ajax(
{
'password' : password,
'username' : username,
'url' : secureURL,
'type' : 'GET',
'success' : function(){ window.location = secureURL; },
'error' : function(){ alert('Bad Login Details');},
}
);
return false;