Winform用户登录

时间:2014-05-17 20:19:22

标签: c# winforms security

我有一个winform应用程序,它以登录userA的pc运行。我想添加一个登录按钮,当userA仍然登录到PC时,pc userB登录到应用程序。然后,应用程序将作为UserB运行。如何才能做到这一点 ?我在这里需要的只是技术术语或这样做的一个例子。

1 个答案:

答案 0 :(得分:1)

以下文章包含示例C#源代码以及如何实现此目的的说明:

http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C

简要总结一下,您需要通过P / Invoke在LogonUser库中使用本机函数advapi32.dll。这将令牌句柄存储在提供的IntPtr变量中,然后可以通过DuplicateToken本机函数和SetThreadToken函数(也在advapi32.dll中)使用该变量来生成当前函数线程模拟请求的用户。 RevertToSelf函数可用于返回原始用户。