2011-04-25 96 views
0

我剛安裝了windows server 2008 r2以及visual studio和dropbox。我將它用作開發虛擬機,dropbox幫助我保持文件與其他機器同步。無法訪問iis7 mvc應用程序中的文件 - server 2008 r2

我已經在IIS中設置了我的網站,但在嘗試查看網站時出現拒絕訪問錯誤。我以前有過,並且在過去我已經完成並將IIS_User帳戶添加到讀取/修改文件的權限列表中。我假設,因爲文件已被複制下來,文件沒有必要的權限。這裏有個問題,我不能通過修改文件夾的權限來批量更新文件,我不得不一次性更改文件級別,甚至更糟糕,一次一個!我不能有這個。

我對2008 R2和IIS 7比較新,所以我不知道這裏發生了什麼。有人可以解釋發生了什麼,如果有可以更新的IIS /文件權限設置來解決它在頂級文件夾?

我已經嘗試在IIS中的網站上添加匿名permssions,並且已經爲IIS_User(甚至每個人)的文件夾添加了權限。我有一個管理員帳戶,並已設置爲允許我讀取/寫入/修改文件。

這通常是我收到的消息'加載配置文件時發生錯誤:訪問路徑X被拒絕'。

這發生在ascx & aspx文件以及配置文件上。

編輯: 從Visual Studio進行調試時,該站點可見。 該網站運作在完全信任(內部)

請幫助,這是阻止我從工作和驅使我瘋了!

回答

1

默認情況下,在IIS 7中,網站作爲本地系統的網絡帳戶(NetworkService)運行,而不是作爲IIS_User運行。

要驗證在IIS管理器中選擇相關站點,單擊基本設置...並檢查它分配給的應用程序池。然後進入應用程序池並檢查該應用程序池的標識。確保列出的用戶位於ACL中。

將所有人添加到ACL應該可以工作,但只是爲了防止我建議您檢查上述內容。當然,還要確保在設置ACL時檢查復位所有子文件夾上的繼承的方框(如果適用於您的應用程序)。

您也可以嘗試將應用程序池的標識設置爲您已創建的可訪問應用程序目錄的本地(或域)用戶。

希望有所幫助。

+1

什麼是ACL - 抱歉告訴你,我是一個小白:) – lloydphillips 2011-04-25 21:21:06

+0

我已經設置了我的網站一個新的應用程序池具有標識設置爲ApplicationPoolIdentity - 不知道該怎麼在這裏做。 :s – lloydphillips 2011-04-25 21:25:11

+0

我剛剛在應用程序池中添加了我的用戶名/密碼作爲本地用戶,並完成了這項工作。至少讓我工作起來,但我不介意理解是否有更多的「全球化」,我可以在將來使用。將它設置爲NetworkService的工作?爲什麼ApplicationPoolIdentity不工作?如何重置ACL上的繼承關係 - 我現在知道它是訪問控制列表。 – lloydphillips 2011-04-25 21:28:50

1

關於其他身份是否適用於您的應用程序池,這完全取決於這些身份是否擁有您應用程序需要訪問的所有文件和/或數據庫以及其他資源的權限。現在您的應用程序正在您的用戶帳戶下運行,通常不推薦。 IIS將您的密碼緩存起來,如果更改密碼,則在更新應用程序池配置之前,應用程序將停止工作。

至於設置NTFS權限,它可能會變得棘手。一旦禁用權限繼承,每次需要更改權限時,都需要單獨更新該文件或文件夾。另一方面,您不能刪除ACL上的繼承條目,只能添加到它們。但是,您可以設計一種策略,在文件結構的根目錄下提供基準級權限,然後向子文件夾/文件添加權限。

爲了檢查&文件夾上的重置繼承,請進入其屬性,安全選項卡,單擊高級,然後單擊編輯。您可以查看此文件夾是否繼承其父級的權限,並可以選擇消除所有子文件夾/文件權限,並啓用所有子文件夾上的繼承。

希望這會有所幫助。

Advanced Security Settings Dialog

相關問題