1

我们的站点托管在 2 个子域上: http: //site1.mydomain.comhttp://site2.mydomain.com ,出于安全原因,它们都需要 Http 授权才能访问它。

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

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

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

访问控制允许来源:来源,

访问控制允许方法:GET、POST、OPTIONS

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

有没有办法我们可以通过 PreFlight (OPTIONS) 请求上的 jquery Ajax 传递授权凭据以使其命中上述 Java 过滤器?

我已经尝试使用 headers{'Authorization': 'Basic XXXXX'} 发送它,但似乎没有用。或者有没有其他方法可以使用 Apache 来处理这个问题?

4

1 回答 1

0

看起来永远不会为 OPTIONS 请求发送 cookie 和身份验证详细信息。看那个答案

于 2013-11-19T16:22:34.177 回答