我有两个Active Directory域,A和B域的用户需要在他们的桌面上运行一个应用程序来查看和操作位于域B中的服务器上的资源。每个用户在域B中也有一个帐户。是否可以模拟每个用户的域B标识来以编程方式在域B资源上执行操作?
示例工作流:
用户启动桌面application.
操作域B资源。
发布于 2009-06-15 16:26:48
我将谈到Win32 API,但我非常肯定您可以从.NET调用这些API。请检查http://pinvoke.net。
您需要调用LogonUser API来创建一个表示用户域B凭据的访问令牌。
然后调用ImpersonateLoggedOnUser,传入该访问令牌。调用线程将模拟域B凭据,直到您模拟不同的凭据集或调用RevertToSelf API为止。
我想不用说,要使LogonUser调用成功,您正在运行的机器需要信任域B。
发布于 2009-09-02 16:10:09
如果您的计算机(进行模拟的计算机)是不信任您要模拟的用户帐户域的域的成员,则模拟将失败。如果你不这么说,我很想看看证据。
发布于 2009-06-15 16:23:30
请查看this question,它涵盖了您需要的模拟问题。
https://stackoverflow.com/questions/997001
复制相似问题