我試圖從ASP.NET頁面訪問網絡驅動器。從技術上講,這是一個SharePoint應用程序頁面(_layouts/mycompany/mypage.aspx),但我相信這些原則是相同的。訪問網絡驅動器時,ASP.NET應用程序獲取system.unauthorizedaccessexception
string filePath = @"\\companyshare\temp\test.txt";
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
當我打的代碼的第二線以上我得到的錯誤:
Access to the path '\companyshare\temp\test.txt' is denied.
此網站的應用程序池在一個域帳戶下運行(MyCompany的\ adminacct)。 MYCOMPANY \ adminacct可以訪問文件\ companyshare \ temp \ test.txt。我已經確認,通過使用MYCOMPANY \ adminacct憑據登錄到服務器並使用代碼中的相同路徑導航到文件。
我運行IIS 7.5
問題
怎麼會在上面的代碼仍然得到拒絕訪問,即使該應用程序池帳戶有權訪問的文件夾和文件?
有沒有辦法確認我的代碼實際上是在用我認爲正在使用的憑據來訪問該文件?
這聽起來很基本,但您如何確認您在特定帳戶下運行?我想確認,無論我做什麼改變都在做我期望他們做的事情。 – RWL01
我發佈了一篇很好的文章。我用它在過去取得了巨大的成功。不知道您使用的是哪個版本的IIS - 您可能需要在您的問題中注意這一點。 –
它的工作原理就是這麼簡單。謝謝。 – RWL01