跨子域的Ajax jquery - 带有403 Forbidden错误的OPTIONS请求

时间:2013-01-09 20:09:41

标签: jquery cross-domain authorization preflight

我们在2个子域上托管了网站:http://site1.mydomain.comhttp://site2.mydomain.com 并且出于安全原因,它们都需要Http Authorization来访问它。

site1有一个允许用户登录的链接,它打开了一个jquery弹出窗口,供用户提供凭据。成功POST后提交用户可以访问site2。

在POST之前,浏览器发出OPTION请求(Preflight)调用,最终出现403 Forbidden错误。 问题是,当站点需要基本授权时,OPTION请求永远不会到达服务器以添加响应头。

当请求方法为OPTIONS时,使用Java servlet过滤器添加以下内容:

Access-Control-Allow-Origin:origin,

Access-Control-Allow-Method:GET,POST,OPTIONS

Access-Control-Allow-Headers:授权,内容类型

有没有办法可以通过jquery Ajax在PreFlight(OPTIONS)请求上传递授权凭据,以便它能够点击上面的Java过滤器?

我已经尝试使用标题{'授权':'基本XXXXX'}发送它,但似乎无法正常工作。 或者有没有其他方法可以使用Apache来处理这个问题?

1 个答案:

答案 0 :(得分:0)

看起来似乎不会为OPTIONS请求发送cookie和身份验证详细信息。看看that

的答案