使用javascript控制HTTP基本身份验证

Nha*_*lio 3 javascript basic-authentication

我想检查一个URL是否受到使用javascript的Http基本身份验证的保护.这是我到目前为止:

  function showFailure(){ alert("FAILED ") }
  function showSuccess(){ alert("SUCCESS") }

  var myRequest = new Request({
    url: 'http://localhost/access_protected_HTTP_BASIC', 
    method: 'get', 
    onSuccess: showSuccess,
    onFailure: showFailure
  }).send();
Run Code Online (Sandbox Code Playgroud)

但这实际上打开了浏览器登录弹出窗口以访问资源.有没有办法不触发弹出窗口?

谢谢!

注意:我在这个例子中使用mootools,但我会采取任何javascript示例,这样做:)

cas*_*nca 7

根据类似问题答案,您可以在发送请求时手动传递用户名和密码.(根据MooTools Docs,userpassword参数完全相同.)

此外,XMLHttpRequest规范说:

如果身份验证失败,则Authorization不在作者请求标头列表中,请求username为非null,请求密码为非null,用户代理不得提示最终用户输入用户名和密码.

这意味着您可以设置虚拟用户名和密码,浏览器不会提示用户.如果您返回401状态代码,则表示需要授权.