如何使用jQuery / javascript为所有请求设置auth标头?

时间:2013-03-13 10:17:26

标签: javascript jquery digest-authentication

我有一个处理摘要身份验证的自定义网络服务器。 我有一个webclient连接到web服务器并在javascript中执行摘要身份验证,即没有弹出窗口。

客户端

为了避免这样的弹出窗口(401错误总是如此),客户端使用自定义警告标题请求数据

new XMLHttpRequest();
request.open('GET', urlToGet + "?" + Math.random(), false);
request.setRequestHeader("Warning","CustomRequest"); 

服务器端

每当Web服务器获得CustomRequest警告标头时,它都会回复自定义HTTP代码(406)和auth标头。

然后客户端解析服务器头,创建散列的身份验证字符串,我可以识别。到目前为止,这么好(另见我以前的问题herehere)。

既然我有好的标题,我希望我的浏览器将其包含在我制作的每个请求中,就像CSS一样

  background-image: url(IMAGE_URL);

或jquery

 $('#theDiv').prepend('<img id="theImg" src=IMAGE_URL />')

或jquery / AJAX

 $.ajax({
            url: SOME_URL,
            // ...
        });

后者可能是最简单的,因为我可以使用

beforeSend : function(req) {req.setRequestHeader('Authorization',authHeader);}

我知道authHeader。

是否可以使用jquery / javascript告诉浏览器“从现在开始的所有请求都应该有这个授权标题?

另一种方法是在网络服务器端实施会议,这是我很乐意避免的。

0 个答案:

没有答案