2011-01-06 75 views
0

我有一個本地Intranet應用程序,它使用Directory.Exists和File.Exists進行一些文件驗證。不幸的是,由於應用程序以「ApplicationPoolIdentity」身份運行並且該帳戶無法訪問Directory.Exists和File.Exists正在檢查的UNC路徑,所以檢查失敗。內聯網應用最佳實踐? ApplicationPoolIdentity還是不是?

我應該給這個ApplicationPoolIdentity帳戶權限來讀取這些目錄嗎? (所有目錄都出現在單個服務器的頂層文件夾下。)如果是這樣,怎麼辦?

或者,我應該運行一個域帳戶下的應用程序池並授予該帳戶權限? (如果我需要創建一個新帳戶,有什麼權限應我給它?)

感謝任何投入!

+0

爲什麼你的應用程序需要檢查外部目錄和文件? – yfeldblum 2011-01-06 14:28:22

+0

因爲這個應用程序包含一個模塊供我們的CAD部門登錄他們的數據文件並通過版本控制等方式跟蹤他們。我想確保他們輸入的路徑和文件名存在(以確保沒有錯字)。 – Shayne 2011-01-06 15:34:29

回答

1

作爲一個規則,我通常創建一個自定義帳戶,但如果要授予其他權股份等,我會說這是最好的選擇。

用相關訪問權限的自定義標識創建一個新的AppPool。然後讓應用程序在這個新的AppPool下運行。這樣,您可以讓其他應用程序不需要訪問AppPool中沒有此訪問權限的共享。

如果您使用的是Windows 7或Window 2008 R2你可能想看看Virtual Accounts

下面是對Application Pool Identities

0

的話題你需要設置以下身份的ACL讀的好文章:IIS應用程序池\。您可以從文件夾屬性對話框(如果您的計算機位於域中,請確保在「選擇用戶或組」對話框中將位置設置爲本地計算機),或使用命令行中的icacls來執行此操作。