2009-10-16 102 views

回答

4

該問題可能與您試圖訪問的路徑的UNC性質不同,但是具有安全憑證。例如,如果您正在系統帳戶下運行asp.net應用程序,那麼您將無法訪問網絡共享,因爲系統是本地帳戶(不是域帳戶)。

我建議你在inetmgr中檢查你的應用程序池在哪個用戶下運行(在Identity標籤下)。嘗試使用可以訪問該共享的域帳戶。

enter image description here

1

「一把手」時,文件訪問請求被簡單地發出該帳戶必須是缺乏憑據來訪問共享/資源發現在UNC位置。

您首先需要確定哪個帳戶有效使用,因爲這可能會有所不同,並提供相關權限。默認情況下,大多數程序(包括.NET程序)(程度較低)都將運行在啓動程序的帳戶的安全上下文中,但在許多情況下,這並不適用,例如,如果程序是一種服務,或者如果它使用某些DCOM對象,或者它假冒某些其他帳戶等等......而.NET有一個相對複雜的授權/模擬系統。

診斷此問題的一種方法是在UNC文件/目錄級別添加審覈。在失敗時,這會留下一個事件,該事件應顯示試圖訪問該共享的帳戶的登錄名。

1

解決方案保存在asp.net的模擬和授權功能下。有一些構造提供基於令牌的安全方案來調用file.copy操作,例如目標是UNC位置。你可以檢查它here