2013-01-09 162 views
1

我們有兩個子域名託管的網站:http://site1.mydomain.comhttp://site2.mydomain.com 並且都出於安全原因需要Http授權來訪問它。跨子域的Ajax jquery - 帶403的選項請求Forbidden錯誤

site1有一個鏈接,允許用戶登錄,這爲用戶提供憑據打開了一個jQuery彈出窗口。成功POST後提交用戶可以訪問site2。

在POST之前,瀏覽器發出一個OPTION請求(Preflight)調用,最終出現403 Forbidden錯誤。 問題是因爲這兩個站點都需要基本授權,OPTION請求永遠不會到達服務器來添加響應頭。

使用加入一個Java Servlet過濾器,當請求的方法是選項以下:

訪問控制允許來源:產地,

接入控制允許的方法:GET,POST, OPTIONS

訪問控制允許報頭:授權,內容類型

有沒有我們可以通過jQuery的阿賈克斯預檢(OPTIONS)請求授權憑證爲它打了上面的Java過濾器的方法嗎?

我已經嘗試使用標題{'Authorization':'Basic XXXXX'}發送它,但似乎沒有工作。 或者有沒有其他的方法來處理這個使用Apache?

回答

0

它看起來像cookies和認證細節永遠不會發送給OPTIONS請求。看看回答that