如何讓自訂 WebDAV 伺服器與 MS 迷你重新導向器一起使用

如何讓自訂 WebDAV 伺服器與 MS 迷你重新導向器一起使用

我編寫了一個自訂 WebDAV 伺服器,它可以對資料庫中的使用者進行身份驗證,並根據資料庫中的記錄為虛擬檔案系統提供服務。它可以與第 3 方 WebDAV 用戶端配合良好,但在將磁碟機對應到 http 位置時不能與 Windows 內建迷你重定向器配合使用。

最奇怪的事情是,在我編寫伺服器的開發 PC 上,我可以很好地連接,但是嘗試訪問伺服器的任何其他電腦都無法與迷你重定向器連接。

我已經使用 Fiddler 來分析網路流量,一切看起來都很好。當我嘗試映射驅動器時,會發送 OPTIONS 標頭,我的伺服器會回應 200 OK。然後迷你重定向器發送一個深度為 0 的 PROPFIND 方法。這將開啟一個使用者名稱和密碼的登入對話框。輸入密碼後,將發送一個新的 PROPFIND 請求,但這次帶有授權標頭。一切似乎都工作正常,我的伺服器接受登入憑證並使用 207 多狀態回應以及根目錄的「HREF」進行回應。此時,迷你重定向器會再次彈出登入提示,總共執行了 3 次,然後導致連線失敗,並顯示找不到伺服器的錯誤。奇怪的是,伺服器已找到,我可以在 Fiddler 中看到它,並且伺服器按預期響應。

每個其他第 3 方 WebDAV 用戶端都與我的伺服器進行類似的交換,並連線並顯示目錄清單。只有迷你重定向器失敗。正如我上面提到的,它在具有迷你重定向器的開發電腦上完美運行(儘管我連接的 IIS 7.5 伺服器不在我的開發電腦上)。其他所有電腦都無法連線。我已確保使用註冊表 hack 來允許透過非安全 HTTP 網站進行基本驗證。我甚至將我的伺服器移至帶有 SSL 憑證的安全 HTTPS 站點,以防萬一出現問題,但它仍然無法正常工作。有沒有人有什麼想法。我認為這與我在伺服器上的 IIS 7.5 設定有關,或者與我的開發電腦以外的所有其他客戶端電腦上的設定有關,因為我的程式碼看起來很好,伺服器似乎對 mini 響應良好- redirectors 請求,它只是不像所有其他客戶端那樣在207 多狀態回應之後映射磁碟機。

任何幫助將不勝感激。令人沮喪的是,我預計迷你重定向器是最難工作的,所以我先讓它在我的開發機器上工作,然後再與所有其他客戶端進行測試,所以我認為我的狀態良好,直到我嘗試連接其他客戶端電腦並發現它失敗了,但僅限於迷你重定向器。遺憾的是,迷你重定向器對於我的潛在客戶來說是最容易使用的,因此它必須與迷你重定向器一起使用。我可以提供 Fiddler 的回應/請求,如果這可以幫助任何人與我一起調試它。

答案1

Microsoft WebDav Redirector 有一個已知錯誤,該錯誤不會讓您使用預設的 XML 命名空間。在添加命名空間前綴並用它標記所有 xml 元素後,我的問題就消失了。

http://lists.w3.org/Archives/Public/public-html/2011Jan/0263.html

相關內容