【问题标题】:LogonUser works only for my domainLogonUser 仅适用于我的域
【发布时间】:2010-11-02 20:47:20
【问题描述】:

我需要使用 C# 模拟用户。 我使用 LogonUser Win32 API。 当模拟与当前登录用户来自同一域的用户时,这可以正常工作。 但是,当我尝试模拟来自其他域的用户时,我得到“错误”作为响应。

这是什么原因造成的?

【问题讨论】:

    标签: c# winapi impersonation


    【解决方案1】:

    正如 Joel 所说,您需要域之间的信任。

    您还需要注意执行委托的进程的安全上下文,以及您运行的机器所在的域。

    您尝试访问的域必须信任进程的计算机和用户帐户才能进行委派。

    这意味着您的代码应该在您尝试访问的域上运行。

    希望对你有帮助

    设拉子

    【讨论】:

      【解决方案2】:

      您应该在 LogonUser 失败后立即尝试调用 GetLastError 以查看是否给出任何错误信息。

      http://msdn.microsoft.com/en-us/library/ms679360(VS.85).aspx

      从 c# 调用 GetLastError 可能会出现一些问题。
      在这里查看更多信息:http://blogs.msdn.com/adam_nathan/archive/2003/04/25/56643.aspx

      您的两个域之间是否存在信任关系?否则,LogonUser 将失败。

      【讨论】:

      • 域之间没有信任
      猜你喜欢
      • 2011-11-21
      • 2011-02-24
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多