1

我已經有一段時間在Cassini(Visual Studio)Web服務器上工作的Windows身份驗證,但是當我更改爲在IIS 7中運行我的站點時,該站點不再正常工作。如何在我的MVC網站中啓用模擬?

我禁用了匿名身份驗證,啓用了Windows身份驗證,並啓用了ASP.NET模擬。我的web.config文件包括:

<authentication mode="Windows" /> 
    <identity impersonate="true" /> 

的問題是,每當我嘗試訪問該網站提示我提供用戶名和密碼。

我的期望是,我的瀏覽器將我的憑據發送到IIS(通過某種類型的身份驗證令牌),IIS將在所有頁面請求上冒充我的用戶。

爲什麼我被提示登錄?必須做些什麼才能避免此提示,並使ASP.NET使用我的模擬用戶名?

UPDATE: 我說我的網站在IE的「Intranet區域」,並使用IE我不再會提示輸入用戶名和密碼。內部網站的IE自動登錄有一個設置。

但是,我不明白爲什麼這不是使用VS中的卡西尼網絡服務器的問題?有任何想法嗎?

+0

Intranet Zone實際上並不是IE獨有的功能...... Chrome瀏覽器進入此Windows控制面板設置,因此當我將localhost添加到它時一切正常。我有點害怕,但也許這是它應該如何工作?奇怪的是,Firefox似乎並沒有利用Windows Internet Properties。 – kingdango

+0

如果我記得它是正確的,Firefox有一個選項可以像這樣做,但默認關閉。 – BigMike

回答

0

您是否嘗試過使用IIS Express?

這只是一個刺,但Visual Studio從相同的用戶帳戶運行卡西尼和IE,所以也許您的身份impersonate從Visual Studio傳遞。 IIS 7用戶帳戶由應用程序池建立,該應用程序池可能與運行VS/Cassini的用戶不同。我相信IIS Express將作爲您的用戶帳戶運行,因此身份模擬可能會在不提示或更改Intranet區域設置的情況下對其進行處理。

如果可行,則可以將IIS 7應用程序池配置爲以用戶帳戶運行,並且提示可能會消失。

再次,這只是一個刺。