2011-04-20 86 views
21

我正在使用IIS並嘗試部署需要身份驗證模式=「Windows」的Web應用程序。爲什麼在<authentication mode =「Windows」/>時忽略web.config?

但是在每臺機器上我都試過,只是部署Web應用程序不起作用。在Web.config說

<authentication mode="Windows"> 

但IIS管理器下它說

Windows Authentication Disabled 

所以我救我的web.config的備份,然後我用IIS啓用Windows身份驗證。我這樣做後,我的應用程序工作正常但web.config文件不變

我必須爲每個客戶端自動創建此Web應用程序的新實例。要求IT人員手動轉到每個Web應用程序並打開此功能是非啓動器。我需要web.config文件才能工作,或者我需要知道必須更改哪些配置文件才能使其工作。我花了好幾天的時間試圖讓這種排序沒有成功。

任何幫助,非常感謝。

+1

你能更具體嗎? IIS6,IIS7? – Kev 2011-04-21 10:55:16

回答

30

我假設你正在驗證用戶對一些Windows用戶帳戶?我也假設你想讓瀏覽器彈出用戶名和密碼挑戰?

這裏有兩種不同的工作。

web.config中的<authentication mode="Windows"/>設置僅告訴ASP.NET基於由IIS提供的憑據而不是由Forms Authentication(或其他提供者)提供的憑據。它不是由IIS控制的設置,IIS不具有此設置的可見性。在web.config中更改此設置也不會更改IIS的身份驗證設置。

當您更改IIS MMC的Windows身份驗證設置,您正在改變在IIS6的設置配置數據庫或者如果你(在applicationHost.configweb.config或可能根據設定如何改變),使用IIS7的system.webServer/security/authentication部分。

所以,除非你(你知道這一點):

  • 從網站上刪除匿名身份驗證在IIS MMC,或者在站點中的文件和文件夾

  • 刪除NTFS權限爲匿名賬戶指定IIS中的Windows身份驗證MMC

無論中的設置如何,您都不會在瀏覽器中獲得用戶名和密碼質詢。

+5

這非常有幫助。只是關鍵字「applicationHost.config」是我需要的大部分。 後人的其他一些意見: 從這個鏈接我能夠找到有關如何配置我認爲應該在web.config中的東西的信息: http://www.iis。net/ConfigReference 然而,起初它看起來像我沒有任何這些配置文件,因爲我使用TotalCommander。顯然你需要具有管理員權限才能查看目錄,並且只有在用64位程序查看文件時才能看到文件(如果位於64位的機器上) 謝謝! – 2011-04-21 16:57:38

+0

我發現奇怪的是,您可以在IIS管理器GUI中啓用Windows身份驗證並需要特定的Windows組(ASP.Net授權規則),但似乎在GUI中設置了* no *設置來設置web.config身份驗證模式?有人糾正我,如果我在這裏錯了。 – 2015-07-15 18:56:34

+1

@Mister_Tom你的意思是在'system.web'還是'system.webServer'?如果你的意思是'system.web',那麼是的,正確的,看起來像是一個疏忽,但即便如此,並不是所有的IIS特定的配置設置都有一個IIS MMC配置應用程序,有些不顯示所有的配置選項。也就是說,您可以使用IIS管理包中提供的通用配置編輯器配置這些隱藏的功能/選項:http://www.iis.net/learn/web-hosting/web-server-for-shared-託管/管理包 – Kev 2015-07-15 19:30:37

相關問題