4

我在 IIS 服务器上配置了一个虚拟目录,指向一个 UNC 网络位置 - “\\esdata\userdata”。当我设置它时,我在 IIS 配置中设置了一个特定用户,并且我知道该用户对此目录具有完全权限。

现在在我的 Web.API 控制器中,我正在该虚拟目录中寻找一个特定的子目录——比如说 johndoe(所以 \\esdata\userdata\johndoe)。我可以创建我的 DirectoryInfo 对象,它显示的路径正是正确的。但是,如果我在该目录信息上调用 GetDirectories(),我会收到拒绝访问异常 - 即使肯定有子目录并且即使 IIS 用于访问该目录的用户具有完全权限。

那么首先,这是 GetDirectories() 的限制吗?我读过它有一些问题。我能做些什么来解决这个问题,或者我做错了什么?

4

1 回答 1

3

发现问题并修复它。底线是我必须按照此处的文档配置默认 ApplicationPool 以使用我的授权用户的身份。

我认为给我带来麻烦的是我将此目录映射为 IIS 中的虚拟目录,并将其映射为同一用户。显然,这并没有像我想象的那样授予访问该信息的权限。更改应用程序池标识可能不是一个好主意,但对于基于 Intranet 的站点,它会让我到达我想去的地方:)

于 2013-02-07T16:57:40.460 回答