0

我有一个文件夹,我想在这个文件夹中进行一些处理,例如解压缩并读取文件。这部分很完美,但是当我尝试在 asp.net 上打开文件夹时出现这样的错误:

 Error: System.UnauthorizedAccessException: Access to the path
    \\101.101.101.126\d$\abc\abc\abc' is denied. 
         at System.IO.__Error.WinIOError(Int32 errorCode,
         String maybeFullPath) at System.IO.Directory.InternalGetFileDirectoryNames(String path, String
     userPathOriginal, String searchPattern, Boolean includeFiles, 
         Boolean includeDirs, SearchOption searchOption) at 
         System.IO.Directory.GetFiles(String path, 
         String searchPattern, SearchOption searchOption) at GetEmailReport.GetEmailCampaignDeliveryStatusReportViaFtp() in
          c:\abc\abc\abc.cs:line 120

我更改了ISS用户、Asp.Net 和其他用户的文件夹权限,但我有一些错误。如何修复此错误?

4

1 回答 1

0

其帐户用于运行您的应用程序的用户必须有权访问该路径

有两种方法可以实现这一点:

  1. 为您的应用程序配置一个特殊的应用程序池,它将在具有必要权限的用户下运行(可以访问远程服务器上的管理员共享)。因此,您的整个应用程序将在该帐户下运行并拥有其所有权限。

  2. 使用模拟在另一个帐户下执行您的部分代码。这不需要任何 IIS 配置,并且比第一种方式更安全和灵活(例如?您可以在单个应用程序中模拟多个帐户)。

为此我使用了一个辅助类:http: //pastebin.com/HQWT7yFX(找不到原作者,所以这是我稍微修改过的版本)

于 2013-07-12T08:40:54.023 回答