我们的站点托管在 2 个子域上: http: //site1.mydomain.com和http://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 来处理这个问题?