1

我的「Hello World」c#.Net應用程序在我的本地Windows 7上正常工作。移動到我們的服務器時出現401.2錯誤。401.2 Windows 2008上的IIS 7.0上的ASP.Net 2.0中的錯誤

在這裏我做了什麼(以下在一些論壇上建議):

  1. 改變了匿名身份驗證使用,以應用拉動用戶
  2. 創建一個新的應用拉動
  3. 創建一個新的Windows用戶訪問到應用程序文件夾
  4. 設置應用程序對該用戶的身份驗證
  5. 將我的應用程序的應用程序拉爲該應用程序拉

請注意:

  1. 我無論是從服務器內部和外部收到錯誤
  2. 我收到此錯誤從所有的瀏覽器我測試:Chrome瀏覽器,IE 9.0和Firefox
  3. 在同一個文件夾中的HTML文件是可見的

我錯過了什麼? 謝謝, Asaf

+0

這可能是由Windows身份驗證引起的,你有沒有檢查過? – 2012-04-16 10:11:49

回答

2

您不需要創建新的Windows用戶。我知道你已經說過你已經完成了哪些步驟,但是我會在每次添加新網站時突出顯示我所做的工作。

  • 設置應用程序池的標識爲 ApplicationPoolIdentity
  • 在網站中,將Anonymous Authentication設置爲Enabled。點擊 在右側編輯並將Authentication Credentials設置爲 Application pool identity
  • 在網站中,再次選擇右邊的Basic Settings。點擊 按鈕Connect As..並確保Application User已選擇 。
  • 對硬盤上的文件夾給予適當的訪問權限;即 應用程序池名稱= hello.com,用戶爲IIS AppPool\hello.com

我認爲你的問題是你沒有給予應用程序池用戶的文件夾權限。我認爲您錯誤地將它們提供給了不必要的Windows帳戶。 HTH

+0

你好@ianbaily,謝謝你的回覆。第一步 - 應用程序池的標識可以是LocalService/LocalSystem/NetworkService。找不到ApplicationPullIdentity,它是應用程序的Ididity嗎? – asafadd 2012-04-17 10:40:02

+0

在ApplicationPools區域的'Advanced Settings'下,查看Process Model - > Identity。在內置帳戶下,ApplicationPoolIdentity是最後一個。我傾向於避免使用NetworkService,因爲使用ApplicationPoolIdentity會將所有內容隔離開來。 – ianbailey 2012-04-17 11:52:49

+0

謝謝,@ianbaily!做到了! – asafadd 2012-04-18 11:15:31

0

您是否在服務器上安裝了正確版本的.NET?您還需要在IIS中註冊ASP.NET-c:\ windows \ Microsoft.NET \ framework \ v2.0.50727(或v4.0 ....) aspnet_regiis.exe -i

和重新啓動IIS後iisreset in command line

+0

謝謝@Ivan,回到我身邊。運行這兩個命令後,我仍然得到「訪問被拒絕」。爲什麼你覺得你重新安裝。網絡框架與此木材化問題有關? – asafadd 2012-04-16 12:05:50