2013-04-05 48 views
1

我可能會丟失一些東西明顯...但的XMLHttpRequest可以訪問授權頭在Firefox

我試圖加強與Greasemonkey的插件本地顛覆HTTP訪問。目前,我正在使用CGI腳本來運行PROPFIND等。儘管它有效,但它破壞了安全性。

我已經下載了一個Javascript DAV客戶端,它將完成我想要的所有功能,從http://debris.demon.nl/projects/davclient.js/。假設我可以使用已經提供的用戶證書,我應該能夠以正確的安全性使用JavaScript獲得擴展的Subversion信息。

我們在Subversion服務器上運行基本身份驗證,我不知道如何使該庫中的xmlHttpRequest繼承預先存在的瀏覽器身份驗證詳細信息。 xmlHttpRequest返回401,但調用頁面已通過身份驗證並處於同一個域中。

回答

2

您可以使用.setRequestHeader(header, value)手動指定Authorization標頭。

根據the spec

如果用戶代理支持HTTP認證和Authorization不在作者請求頭[由setRequestHeader設定],就應考慮從XMLHttpRequest對象始發是部分的請求的列表包含訪問的URI的保護空間,併發送Authorization標題並適當處理401 Unauthorized請求。

這似乎意味着如果用戶已經提供了資源的認證憑證,XHR將自動使用它們。