2013-02-07 77 views
2

我在我的IIS服務器上配置了一個虛擬目錄,指向UNC網絡位置 - 「\\ esdata \ userdata」。當我設置這個時,我在IIS配置中設置了一個特定的用戶,並且我知道這個用戶對這個目錄擁有完全的權限。從Web.API控制器和DirectoryInfo訪問被拒絕的錯誤

現在在我的Web.API控制器中,我正在尋找該虛擬目錄中的特定子目錄,比如說johndoe(so \\ esdata \ userdata \ johndoe)。我可以創建我的DirectoryInfo對象,並且它顯示的路徑完全正確。但是,如果我在該目錄信息上調用GetDirectories(),則會出現Access Denied異常 - 即使確實有子目錄,即使用戶IIS正在使用訪問該目錄的權限也是如此。

所以首先,這是GetDirectories()的限制嗎?我讀過它有一些問題。我能做些什麼來解決這個問題,或者我做錯了什麼?

回答

2

發現問題並修復它。底線是我必須配置默認的ApplicationPool以使用我的授權用戶的身份,請參閱文檔here

我覺得給我的麻煩是我把這個目錄映射爲IIS中的虛擬目錄,並將它映射爲同一個用戶。顯然這並不能以我認爲的方式訪問這些信息的權限。可能不是一個好主意來更改應用程序池標識,但對於基於Intranet的站點,它將使我得到我想要去的地方:)