2011-12-31 41 views
9

我正在嘗試將ASP.NET MVC 3應用程序部署到Windows 2008 R2框。我運行Web平臺安裝程序以安裝MVC 3位和基本IIS設置。我創建了一個新文件夾C:\ Website,然後創建了一個新網站並將其指向該文件夾。爲什麼我得到401.2/Access在IIS 7.5下部署我的MVC 3應用程序時出現錯誤?

我看到有一個新的應用程序池恆等式,「ApplicationPoolIdentity」,這是從IIS 6不同的(並且是不是真的可以從文件夾的安全選項卡中的「特殊」用戶帳戶)。我通過輸入帳戶「IIS AppPool \ DefaultAppPool」手動爲C:\ Website文件夾分配權限並給它讀取&執行/列出文件夾內容/讀取權限(具體爲:Traver文件夾/執行文件,列出文件夾/讀取數據,讀取屬性,讀取擴展屬性,讀取權限)。

本網站的應用程序池爲.NET框架集成管道的v4配置。

在IIS身份驗證中啓用了「匿名身份驗證」。

我的網站在web.config文件中有認證模式=「Windows」。這是我第一次使用Windows身份驗證。如果重要,則Web服務器是域的一部分。

當我嘗試訪問該網站時,我得到一個訪問被拒絕錯誤401.2。我認爲它可能與Windows身份驗證設置有關,因此我修改了web.config並將身份驗證模式設置爲無。我犯了同樣的錯誤。

如果我進入網站IIS /身份驗證並啓用Windows身份驗證,它會提示我輸入用戶名/密碼。如果我輸入我的憑據,它的作品。但是,我擔心它只能工作,因爲它實際上是在模擬我在服務器上(並且我可以訪問所有內容)。我並不需要/希望在網站上扮演角色 - 我只使用Windows身份驗證,因此我們不必維護兩組登錄。該網站僅檢查用戶是否是成員的角色以選擇性地顯示/隱藏內容。網站上的默認頁面沒有在控制器上設置任何[授權]屬性。在web.config文件中配置。

第二個問題 - 爲什麼我會被提示輸入我的用戶名/密碼?挑戰/響應不會自動發生,只會在驗證失敗時提示?

顯然這裏有一些互動,我不明白,但我不知道是什麼。我在事件日誌中沒有看到任何有用的錯誤。

我已經搜索了錯誤並嘗試了一些修復程序,例如,我嘗試使用aspnet_regiis -i命令重置ASP.NET配置,但沒有任何運氣。

解決

我能得到這個工作。在網站配置下有一個「.NET授權」選項。這被配置爲拒絕所有匿名用戶。我刪除了該規則,然後添加了一條規則以允許所有匿名用戶。現在我可以在不登錄的情況下點擊該網站。然後我進入IIS身份驗證並啓用Windows身份驗證並禁用匿名身份驗證。

Internet Explorer在不提示的情況下傳遞憑證。 Firefox提示輸入憑據。有一個配置設置來配置此:

  • 打開Firefox
  • 轉到:about:config中(並同意繼續)
  • 過濾器用於:network.automatic
  • 在網絡上雙擊.automatic-ntml-auth.trusted-uris
  • 添加您的網站(多個網站可以用逗號分隔)。包括http://部分。

我正在測試的機器沒有Chrome,但在我的開發中似乎工作正常。機。

+1

如果他們啓用回答你自己的問題,我會upvote你的決議。解決了我的問題。 – 2012-05-24 15:24:24

回答

0

確保您的文件系統權限是正確的。如果他們嘗試刪除在應用程序的bin目錄中部署的WebMatrix.Data.dll和WebMatrix.WebData.dll - 這對我來說是個竅門,我記得有同樣的問題。

相關問題