如何使用Vista和IIS7通过ASP.Net复制文件?

如何使用Vista和IIS7通过ASP.Net复制文件?,asp.net,iis-7,windows-vista,web,Asp.net,Iis 7,Windows Vista,Web,我在网站上有一个按钮,可以创建目录并复制文件。我使用VisualStudio2008,ASP.NET3.5开发了它。我正在运行Vista作为我的操作系统。该网站使用身份模拟 在以下情况下,该功能不起作用(“对路径XYZ的访问被拒绝”): 我通过IE运行该网站,并访问本地Web服务器 当[注意Visual Studio以管理员权限运行]: 我在VisualStudio中点击play 我说的是从VisualStudio在浏览器中查看 我通过IE访问本地Web服务器来运行该网站,但使用管理员权限

我在网站上有一个按钮,可以创建目录并复制文件。我使用VisualStudio2008,ASP.NET3.5开发了它。我正在运行Vista作为我的操作系统。该网站使用身份模拟

在以下情况下,该功能不起作用(“对路径XYZ的访问被拒绝”):

  • 我通过IE运行该网站,并访问本地Web服务器
当[注意Visual Studio以管理员权限运行]:

  • 我在VisualStudio中点击play
  • 我说的是从VisualStudio在浏览器中查看
  • 我通过IE访问本地Web服务器来运行该网站,但使用管理员权限启动IE
  • 我将网站部署到另一个Web服务器(也是vista/IIS7)
  • 我修改FireFox以接受集成身份验证,然后通过FireFox和localhost进行访问
我以前从未见过这种行为,以前的File.Copy类型命令只关心要复制到的文件夹上的权限是否有效等等。。。(我让每个人在调试这种情况时都有完全的控制权)。这似乎是可能的问题是有管理权或没有?或者正在登录到运行它的机器

这里发生了什么?为什么它可以在开发环境中工作并部署到另一台机器上,但在我自己的机器上部署时却不能工作?看起来很奇怪,任何帮助都将不胜感激


编辑:我已将“Everyone”添加到所有相关目录中,并授予该用户完全控制权,因此不应存在任何权限问题?

我猜ASP.Net运行时使用的身份不具有权限(NetworkService),或者用于匿名身份验证的用户具有权限(IUSR)

我猜运行ASP.Net的身份不具有权限(NetworkService),或者用于匿名身份验证的用户具有权限(IUSR)

运行模拟线程的用户更有可能无法访问原始文件或目标。您是否尝试过以该用户的身份直接复制?当您以管理员身份运行IE或以管理员身份运行VS时,模拟用户具有管理员的完全权限

[编辑-添加链接]

有一些关于类似线程的信息,使用SysInternals的想法很好:


更有可能的是,运行模拟线程的IIS用户无权访问原始文件或目标。您是否尝试过以该用户的身份直接复制?当您以管理员身份运行IE或以管理员身份运行VS时,模拟用户具有管理员的完全权限

[编辑-添加链接]

有一些关于类似线程的信息,使用SysInternals的想法很好:


您应该尝试授予通过asp.net进行修改的权限


你可以在google(ing)it上找到几篇关于这方面的文章。

你应该尝试通过asp.net授予修改权限


你可以在google(ing)it上找到几篇关于这个问题的文章。

好的,鉴于这些症状,我已经找到了这个问题的解决方案。我不能100%确定为什么这样做有效(特别是因为它在FireFox和IE中都很好,如果你不在本地连接的话),但下面的内容似乎是一个解决办法


在IE中选择工具->互联网选项->安全->受信任站点->站点并添加为受信任站点。这样,您就可以在本地使用该网站。我不知道为什么在本地连接时需要在IE中这样做,而不是在FireFox或IE中连接到另一台机器时这样做。但是这似乎是一个可行的解决办法。

好的,鉴于这些症状,我已经找到了这个问题的解决方案。我不能100%确定为什么这样做有效(特别是因为它在FireFox和IE中都很好,如果你不在本地连接的话),但下面的内容似乎是一个解决办法


在IE中选择工具->互联网选项->安全->受信任站点->站点并添加为受信任站点。这样,您就可以在本地使用该网站。我不知道为什么在本地连接时需要在IE中这样做,而不是在FireFox或IE中连接到另一台机器时这样做。但这似乎是一个可行的解决办法。

我已经将“Everyone”添加到所有relvant目录中,并赋予该用户完全控制权,因此不应该存在任何权限问题?我已经将“Everyone”添加到所有relvant目录中,并赋予该用户完全控制权,因此不应该存在任何权限问题?我可以复制/删除/等等。。。有了那个用户,没问题我可以复制/删除/等等。。。对于该用户,没有问题。您能提供更多详细信息吗?有问题的目录和文件具有“所有人”读、写、修改权限。如何“授予通过asp.net进行修改的权限”?我在做模拟,所以这不也应该考虑一下吗?你说得对。不管怎样,从现在开始,因为你找到了解决办法:)你能提供更多细节吗?有问题的目录和文件具有“所有人”读、写、修改权限。如何“授予通过asp.net进行修改的权限”?我在做模拟,所以这不也应该考虑一下吗?你说得对。无论如何,从现在开始,因为你找到了解决办法:)