小编典典

C#的Windows模拟

c#

作为LocalSystem运行的C#程序如何临时模拟另一个用户的登录身份?粗略地说,我有一个Windows服务,希望以LocalSystem的身份运行,但有时会模拟用户XYZ(使用Windows
Integrated Security连接到数据库时)。

最重要的是:是否有一种方法可以在不知道其他用户密码的情况下进行?

注意:如果必须输入密码,那么有建议的策略可以安全地存储密码(c#和/或vbscript)。


阅读 281

收藏
2020-05-19

共1个答案

小编典典

这是可能的,尽管它需要您编写大量代码。请参阅NtCreateTokenCreateToken。尽管因为在NT AUTHORITY \
SYSTEM下运行,所以这不是问题,但您需要SeCreateTokenPrivilege。然后,您可以使用创建的令牌模拟线程内部。

2020-05-19