Chrome 401未经授权的JavaScript登录
我目前正在开发一个Chrome扩展,我需要访问一些受http-auth保护的资源(webdav)。 HTTP认证使用(在最好的情况下)摘要认证。
问题是:如果登录名/密码错误,我不能获得401状态(未经授权),Chrome会弹出常规身份验证对话框。 我不想让用户感到困惑,我无法从这里保存证书。
编辑:我遇到的另一个用例是:我想检查资源是否受密码保护,而不尝试提供凭据以实际访问它。
如何在没有弹出Chrome的验证框的情况下捕捉401的任何想法?
我尝试使用这个功能:
function autoLogin(domain, user, password) {
var httpAuth;
if (window.XMLHttpRequest) {
httpAuth = new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari
}
else if (window.ActiveXObject) {
httpAuth = new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5
}
else {
alert("Seu browser não suporta autenticação xml. Favor autenticar no popup!");
}
var userName = domain + "" + user;
httpAuth.open("GET", "/_layouts/settings.aspx", false, userName, password);
httpAuth.onreadystatechange = function () {
if (httpAuth.status == 401) {
alert("wrong");
eraseCookie('AutoLoginCookieUserControl_User');
eraseCookie('AutoLoginCookieUserControl_Password');
}
else {
if ($(".pnlLogin").is(':visible')) {
$(".pnlLogin").hide();
$(".pnlUsuario").css("display", "block");
$(".avatar").css("display", "block");
var name = $().SPServices.SPGetCurrentUser({ fieldName: "Title" });
$(".loginNomeUsuario").html("Seja Bem Vindo(a) <br />" + name);
}
}
}
try {
httpAuth.send();
}
catch (err) {
console.log(err);
}
}
链接地址: http://www.djcxy.com/p/22311.html
上一篇: chrome 401 unauthorized javascript login
下一篇: XMLHttpRequest to send a GET HTTP request with an username/password