【问题标题】:Impersonation for connect to remote machine in windows application(c#)在 Windows 应用程序中模拟连接到远程机器(c#)
【发布时间】:2013-10-20 15:11:36
【问题描述】:

我编写了一个连接到服务器(WINDOWS NT 200)并执行一些操作的代码。我没有执行操作的权限。所以,我正在使用模拟但收到错误为“未知用户名和错误密码”。用户名和密码是正确的。

我在以下链接中使用的相同代码:

http://msdn.microsoft.com/en-us/library/system.security.principal.windowsimpersonationcontext.aspx

提前致谢。

【问题讨论】:

    标签: c# passwords impersonation


    【解决方案1】:

    请注意,模拟不会赋予您执行某些操作的权利和权限,它只会让您有可能模拟与当前用户不同的用户并“像以前一样”执行该用户的操作。如果您模拟的用户无权执行某项操作,您将无法以提升的权限执行操作。

    也就是说,您会在 SO 上找到很多类似的场景,这些场景可能已经涵盖了您的情况。 首先,请尝试查看 this questionthis question - 希望对您有所帮助。

    【讨论】:

    • 我问这个问题是因为......我的应用程序连接到 IBM MQ 管理器(在服务器:Windows 2000 NT 上)并将消息放入队列中。我能够连接到 MQ经理,但是当我尝试将消息放入队列时,我收到授权错误。所以,我正在尝试使用 IMPERSONATION 将消息放在队列中.....这可能吗?
    • 老实说,我对 IBM MQ 了解不多——无论如何,通过模拟,您可以充当与本地用户不同的用户。也就是说,如果在您的服务器中,您有一个对 IBM MQ 管理器具有完全访问/特权的用户并且您知道其密码,那么您可以模拟该用户并获得其完全特权。如果有可能,请尝试在服务器本地运行您的应用程序,以您要模拟的用户身份登录,并检查您是否有相同的错误消息(以便更好地了解问题是否来自低级权限用户或客户端-服务器连接)
    • 我有远程机器的详细信息(Windows 2000 NT,安装了 IBM MQ)IP 地址、域 [CORP 或 TXUCORP]、用户名、密码.....我在上面的链接中使用了代码。它不适合我。我的应用程序将作为客户端应用程序在windwos 7 上运行。它需要在运行时使用模拟方法连接到远程机器。 MSDN 说我们只能在本地用户上模拟用户,而不是在远程机器上。我们能做到吗?我在等你的 cmets @Spaceman
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2011-05-12
    • 2013-09-07
    • 1970-01-01
    相关资源
    最近更新 更多