2010-12-19 42 views
0

我已閱讀此帖子How can I use WCF with only basichttpbinding, SSL and Basic Authentication in IIS? 似乎工作正常,如果我將clientCredentialType設置爲「基本」,但是當我將clientCredentialType設置爲「Windows」時,匿名用戶可以訪問我服務。啓用SSL與Windows身份驗證WCF over basicHttpbinding

有人可以對此有所瞭解嗎?我如何禁用匿名用戶。我已經在ISS 7.5中禁用了它。基本身份驗證和Windows身份驗證有什麼不同?

更新 當我設置clientCredentialType爲「Windows」,我瀏覽到我的服務URL https://ServerName/myservice.svc,I上午提示一個登錄窗口,但我可以在用戶名和密碼,就可以輸入:OK沒有類型仍然可以看到服務信息頁面。但是,如果我在虛擬目錄上創建了一個.html頁面,那麼我必須輸入用戶名和密碼。否則我無法看到該頁面。

回答

0

基本認證需要一個任意的用戶名和密碼。 Windows身份驗證會發送當前登錄用戶的憑據(假定用戶正在運行Windows),並且僅當客戶端和服務器位於同一個域時才真正有用。

因爲在互聯網上發送Windows登錄信息是一個潛在的安全問題,Firefox和更新版本的IE不會發送憑證,除非明確告知(FF的配置設置,移動站點到IE的「受信任」區域)

+0

但爲什麼當我將clientCredentialType設置爲「Windows」時,匿名用戶可以訪問我的服務。儘管我禁用了匿名用戶。 – Ybbest 2010-12-19 08:13:55

+0

首先 - 服務器是否與您在同一個域中?接下來,你如何禁用匿名訪問?在代碼中?在Config中?在IIS中? – Basic 2010-12-19 14:12:58

+0

是的,服務器與我在同一個域中,我正在禁用IIS中的匿名訪問。 – Ybbest 2010-12-19 21:11:23