【问题标题】:ASP.NET refuses to respect my authority.ASP.NET 拒绝尊重我的权威。
【发布时间】:2011-10-16 06:04:24
【问题描述】:

我成功地模拟了一个用户。使用 LogonUser 互操作,例如

    [DllImport("advapi32.dll", SetLastError = true)]
    static extern bool LogonUser(
      string principal,
      string authority,
      string password,
      LogonSessionType logonType,
      LogonProvider logonProvider,
      out IntPtr token);

这很好用。当我转到即时窗口并输入WindowsIdentity.GetCurrent().Name 时,模拟用户显示为我的 CurrentUser。当我释放这个用户时,它会回到我的真实用户。没问题 - 我在 am 冒充。

但是,当我尝试将文件写入用户有权访问的共享时,我得到:

Access to the path [path name] denied..

我已经能够以我模拟的用户身份手动登录 Windows,进行导航并将文件写入共享。用户肯定对我要定位的目录具有管理权限。

我允许最终用户上传文件,并使用HttpPostedFileBase 对象将文件写入此共享。本质上,我将模拟限制为上传文件的代码块。完成后,它会返回到原始经过身份验证的 LDAP 用户,例如

 imp = Impersonation.ImpersonateUser("someuser","somepassword");
 HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
 ...
 hpf.SaveAs(path);
 Impersonation.StopImpersonating(imp);

路径正确。

当我使用SaveAs 方法保存文件时,是否尊重我的冒名顶替?

它是否试图在我不知道的另一个帐户下写入文件?如果是这样,我该如何更改?

使用SaveAs 方法似乎没有太多的控制——不是一个单一的重载。是否有任何其他替代方法可以让我更好地控制我的凭据?

【问题讨论】:

  • 你拼错了权威! ;)
  • 您是否查看了目标机器的事件日志以查看是否有任何访问被拒绝或登录错误?
  • 您是否按照我的建议调查了双跳?
  • @ironsam 我们的基础架构团队现在正在调查这个问题。如果是这样,我会接受你的回答。谢谢!

标签: asp.net ldap impersonation


【解决方案1】:

这听起来像是一个双跳认证问题。您是否尝试过让网络共享修改访问您站点的默认 IIS 用户(例如 ASPNET)并在没有模拟代码的情况下运行 POST/SaveAs?如果失败,您应该查看是否在 IIS 中设置了可能导致服务器跃点身份验证问题的设置。这里可能是一个不错的起点:

http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue.aspx

【讨论】:

  • 对我来说听起来像是双跳,当您的应用程序尝试访问远程计算机时,它可能正在使用分配给您的 AppPool 的帐户。查看远程机器上登录失败的日志以确认用于远程访问的帐户。
  • +1 - 我以前见过这个问题,这是由于双跳造成的。
【解决方案2】:

您说“将文件写入此共享”。共享的权限与计算机上文件夹的权限不同。你检查过共享权限吗?

【讨论】:

  • 我以用户身份登录,通过 Windows 中的普通用户身份验证,导航到共享,并且能够写入。与我运行代码的同一台机器,它试图访问共享,来自。
【解决方案3】:

尝试调整您的 LogonSessionType 值。我认为为了保存到网络共享,您需要将其设置为“网络”,而默认设置为“交互式”。

更多详情:How To: Use Impersonation and Delegation in ASP.NET 2.0

【讨论】:

    猜你喜欢
    • 2012-12-22
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2016-02-27
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多