5

我有一個股票標準ASP.NET網站,部署到我們的開發機器(我們的服務器機房內部機器)。IIS7和身份驗證問題

現在,這個開發網站可以被INTERNAL和EXTERNAL用戶訪問。現在,在IIS6中,我們使用匿名身份驗證已關閉關閉,並且其他內容已打開..向用戶提供用於用戶名和密碼的彈出式模型框。我想認爲他們不得不輸入一些在web.config文件中定義的用戶名或密碼? (不是他們的網站賬戶的用戶名/密碼)/

現在,IIS7,當我打開匿名身份驗證關閉,並打開基本Windows驗證,我可以訪問的網站,但它的嘗試使用這些憑據登錄我。而不是用戶註冊的帳戶(使用一些標準的asp.net webform頁面)。

因此......有可能'鎖定'整個網站,讓測試人員獲得對網站的一般訪問權限,這與他們的網站用戶名和密碼不同。這些用戶名和密碼是用於網站的。

確實有道理嗎?

乾杯!


<authentication mode="Forms"> 
    <forms loginUrl="~/Pages/Login.aspx" protection="Validation" timeout="1000000000" requireSSL="false" slidingExpiration="true" defaultUrl="Default.aspx"> 
    </forms> 
</authentication> 

沒有授權部分。

另外,當我添加'Digest Auth'到iis7並啓用它(並禁用everythign其他),我得到彈出窗口(kewl!),但我不知道我需要通過什麼憑證。我可以手動定義這些憑據嗎(所以他們是從網站的用戶分開??)?

+1

這是一個完全合理的期望和一個非常普遍的要求。 – Aaron 2010-10-20 02:51:35

+0

@Aaron - 希望我們可以要求IIS團隊添加這個:( – 2010-10-20 23:23:53

回答

6

IIS7集成模式不支持IIS6執行的兩階段身份驗證。基本上,IIS6將執行其身份驗證(窗口),隨後由asp.net執行其身份驗證(表單)。但是對於IIS7,集成模式下的所有內容都是相同的,因此您只能擁有一種或其他身份驗證方法。

您可以將應用程序池轉換爲使用經典模式,或按照this workaround使其與集成模式一起工作。