我们的网站托管在2个子域:http://site1.mydomain.com和http://site2.mydomain.com,两者都需要Http授权才能访问它,因为安全原因。
site1有一个允许用户登录的链接,它打开一个jquery弹出窗口,供用户提供凭据。提交成功后,用户可以访问site2。
在POST之前,浏览器发出一个OPTION请求(Preflight)调用,以403禁止错误结束。问题是,由于这两个站点都需要基本授权,所以OPTION请求永远不会到达服务器,无法添加回响应头。
当请求方法为OPTIONS时,使用Java servlet筛选器添加以下内容:
访问-控制-允许-原点:原点
Access-Control-Allow-Method: GET、POST、OPTIONS
Access-Control-Allow-Header:授权,内容类型
有没有一种方法可以通过jquery Ajax on PreFlight (OPTIONS)请求传递授权凭证,让它命中上面的Java filter?
我已经尝试使用头{‘Authorization’:'Basic XXXXX'}发送它,但似乎不起作用。或者,是否有其他方法可以使用Apache来处理此问题?
发布于 2013-11-20 00:22:34
对于OPTIONS请求,cookies和身份验证详细信息似乎从未发送过。查看that的答案
https://stackoverflow.com/questions/14245583
复制相似问题