【问题标题】:How to find out which user web app is running as?如何找出正在运行的用户 Web 应用程序?
【发布时间】:2016-08-17 17:21:09
【问题描述】:

我在 Web API 应用程序中使用 HttpPostedFile.SaveAs()。如果文件已存在,则保存失败并显示拒绝访问错误。

从这篇帖子HttpPostedFileBase.SaveAs method question 来看,情况并非如此。如果我手动删除文件,一切都很好。

这个问题与权限有关吗?

当我在资源管理器中查看对此文件夹具有权限的用户时,有四个。只有我的用户没有写权限。我认为这不是问题,否则,我将无法正确书写?

这是在我的开发机器上运行的。

【问题讨论】:

  • 您是否检查过正在被覆盖的文件的权限?具体来说,是否设置了只读标志?

标签: c# asp.net .net visual-studio asp.net-web-api


【解决方案1】:

这取决于 Web 应用程序是在 IIS 还是 IIS Express 下运行。 如果您在 IIS Express 上默认从 Visual Studio 运行,则在这种情况下,用户是运行 Visual Studio 的用户(您)。请务必以管理员身份运行 VS。 在 IIS 下,用户由运行应用程序附加到的应用程序池的用户决定。默认情况下,会为您创建一个以应用程序池命名的新特殊用户。您可以在以下位置更改它: IIS->应用程序池->右击正确的apppool->高级->更改身份。

找出实际用户的最简单方法是查看 Windows 任务管理器 (ctrl+shift+esc),转到详细信息,查找 w3wp.exe 并查看用户名。

【讨论】:

  • 您是指应用程序池高级设置下的“身份”吗?我没有看到“用户”。身份 = ApplicationPoolIdentity。
  • 没错。改变身份。输入您的用户名和密码。
猜你喜欢
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 2019-05-16
  • 2022-11-17
  • 2021-03-15
  • 1970-01-01
相关资源
最近更新 更多