2013-10-03 62 views
31

我正在嘗試使用IIS。我在IIS管理器上創建了一個新站點,將其映射到我的文件系統上的一個文件夾,並將index.html添加到該文件夾​​中。我已經把這個站點的端口設置爲85。當我嘗試訪問http://localhost:85/index.html,我得到了以下錯誤消息:IIS - 401.3 - 未授權

401.3 - unathorized - 您沒有權限查看,因爲訪問控制列表(ACL)進行 配置或加密設置該目錄或頁面此資源位於Web 服務器上。

我給讀取文件夾上的所有人,並再次嘗試。我可以訪問該頁面。

然後我比較了我的文件夾和wwwroot的屬性。我發現wwwroot在IIS_IUSRS上有讀取訪問權限......當我在我的文件夾上做了同樣的事情並再次嘗試時,我又得到了上述錯誤。 我檢查了默認啓用匿名訪問,但我仍然得到這個錯誤。

爲什麼會發生這種情況?解決問題的正確方法是什麼?

回答

9

既然你處理靜態內容...

在充當你的網站 - 的根,如果你右擊>屬性>安全,確實「用戶」列表中顯示的文件夾?如果沒有點擊「添加...」並輸入,確保完成後點擊「應用」。

81

我在這個問題上掙扎了好幾天。可以通過修改站點映射到的文件系統文件夾的安全性用戶訪問屬性來解決此問題。但IIS_IUSRS不是您必須授權的唯一帳戶。

  • 在IIS管理控制檯中,在您的站點配置的身份驗證部分,修改「匿名身份驗證」行並檢查設置爲「特定用戶」(mint爲IUSR)的帳戶。
  • 爲您的網站的文件夾授予對該帳戶的讀取和執行權限。

OR

  • 在IIS管理控制檯,在您的網站配置的認證部分,通過選擇「標識的應用程序池」,而不是「特定用戶修改了「匿名身份驗證」行」。
+5

我發現與「應用程序池標識」的匿名身份驗證工作,但由於某種原因無法使用IUSR。謝謝。 – fortboise

25

這裏是我工作。

  1. 將應用程序池標識設置爲可以爲文件夾分配 權限的帳戶。
  2. 確保源目錄和所有相關文件已被授予 讀取權限的文件分配給應用程序池標識屬性的帳戶
  3. 在IIS中,在服務器根節點,設置匿名用戶從 應用程序繼承游泳池身份。 (這是我掙扎的部分)

要設置服務器的匿名從應用程序池的身份繼承做以下..

  • 打開IIS管理器(inetmgr)
  • 在左 - 手窗格中選擇根節點(服務器主機名)
  • 在中間窗格打開「認證」小程序
  • 突出顯示「匿名驗證」
  • 在右邊的窗格中選擇「編輯...」(對話框應打開)
  • 選擇「應用程序池標識」
+0

#3)修復我的問題:在IIS中,在服務器根節點上,將匿名用戶設置爲從應用程序池標識繼承。 (這是我努力的部分) –

+0

謝謝!!!!!! – developernator

+0

我知道你不應該寫「謝謝」評論,但我覺得我需要表達我的感激之情。我不會想到這一點。 –

0

你將不得不授予權限,以兩個帳戶 (根在IIS Web應用程序)的文件夾

  1. IIS應用程序池\默認應用 (這是一個新的IIS Web應用程序的默認帳戶,如果您使用自定義的,你需要添加此則)
  2. IUSR

提供以下權限這兩個帳戶:

  1. 讀&執行
  2. 列出文件夾內容

就是這樣。