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