Web.API控制器和DirectoryInfo中的访问被拒绝错误

时间:2013-02-07 02:34:56

标签: asp.net-web-api iis-7.5 directoryinfo

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

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

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

1 个答案:

答案 0 :(得分:2)

发现问题并修复它。最重要的是,我必须按照文档here配置默认的ApplicationPool以使用我的授权用户的身份。

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