我在Windows 2003上的IIS 6.0中運行Web服務。它的身份驗證模式爲集成Windows安全(匿名禁用),授權通過授權管理器和XML授權存儲進行。我的測試用戶是具有授權角色成員資格的域用戶(實際上是管理員)。無法使用不同服務器名稱授權
我在Web服務器(本地主機)上測試這個(現在),並使用(現在)Internet Explorer訪問Web服務(.asmx)。
我可以成功地通過本地主機打開Web Service(WSDL)頁,像這樣:
http://localhost:8080/MyService/MyService.asmx
使用此URL,集成Windows身份驗證成功(默默),和我成功地通過AzMan的授權訪問服務。這同樣適用於服務器名稱:
http://myserver:8080/MyService/MyService.asmx
現在我需要使用外部主機名(www.mysite.no)訪問服務(這是爲了讓SSL與頒發給證書工作網站名稱)。要做到這一點,我添加主機名到我的HOSTS文件,像這樣:
127.0.0.1 www.mysite.no
...然後輸入到這個IE:
http://www.mysite.no:8080/MyService/MyService.asmx
會發生什麼事,然後就是授權失敗。我得到IE/Windows登錄框並輸入三次我的正確憑據。然後我得到一個401.1:
HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials.
Internet Information Services (IIS)
通過AzMan的授權如何受主機名的影響?
編輯:我有理由相信AzMan與它無關 - 它似乎是認證失敗。
我在另一臺服務器上重現了這個問題。其實質似乎是通過本地主機文件中的條目訪問本地主機以某種方式混淆了瀏覽器和IIS之間的集成Windows身份驗證。
我已經解決該問題的工作,現在我的好奇心是所有剩下的...
但是主機名是所有不同的.. – 2009-05-28 11:11:45