【问题标题】:Access to file is denied exception with asp.net impersonation访问文件被拒绝与 asp.net 模拟异常
【发布时间】:2012-03-12 10:51:51
【问题描述】:

我正在尝试使用以下 c# 代码访问文件,但是当我尝试执行代码时遇到异常,提示访问路径 @"\MAHESH-PC\D$\temp\CloudURL.txt is denied 。

模拟 imp = new Impersonation("MAHESH-PC", "mahesh", "welcome"); File.Copy(@"\MAHESH-PC\D$\temp\CloudURL.txt", @"C:\temp\CloudURL.txt", true);

我已授予 c: 驱动器中的临时文件夹和 d: 驱动器中的其他临时文件夹的所有访问权限

我已经在 IIS 中启用了模拟,即使这样我也遇到了拒绝访问异常,请我知道他们是否应该实施任何其他设置以使其正常工作。

【问题讨论】:

  • 尝试映射网络驱动器选项。将 \\MAHESH-PC 映射到 Z:驱动器,然后尝试复制。
  • 尝试在iis 中将app pool identity 更改为local system
  • @mahesh 通过使用LocalSystem,与其他帐户link相比,您的iis 将拥有对您计算机的更多访问权限
  • @mahesh 你检查过这篇代码项目文章link
  • @mahesh 检查this 一次

标签: c# asp.net iis-7 file-io impersonation


【解决方案1】:

您的 web.config 中是否启用了模拟?我并不肯定,但我认为在 IIS 中启用模拟不会对您的站点的模拟产生任何影响。如果没有,请将其打开,或授予应用程序池身份对您的两个目录的读/写访问权限,看看是否有帮助。

另外,请仔细检查您的文件夹系统安全性。看来您授予每个人对共享的读/写访问权限,但如果您导航到路径 \pc\drive$\ 那么它可能依赖于文件系统安全性,而不是文件夹共享本身的安全性。有意义吗?

【讨论】:

  • 如果我在 webconfig 文件中启用模拟,我会收到以下错误,无法从配置文件中指定的凭据创建 Windows 用户令牌。操作系统错误“登录失败:未知用户名或密码错误
  • 我在 webconfig 文件中使用了以下代码行
猜你喜欢
  • 1970-01-01
  • 2011-02-01
  • 1970-01-01
  • 2023-03-10
  • 2012-05-19
  • 2014-11-19
  • 2019-11-26
  • 1970-01-01
  • 2014-09-25
相关资源
最近更新 更多