c# - 如何模拟 WellKnownSidType?

标签 c# .net impersonation

我知道我可以使用以下方法模拟 Windows 帐户: http://msdn.microsoft.com/en-us/library/chf6fbt4.aspx

但是我该如何模拟 WellKnownSidType 帐户呢?

SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.LocalSystemSid, null);
NTAccount account = sid.Translate(typeof(NTAccount)) as NTAccount;
if (account != null)
{
    //Impersonate here???
}

最佳答案

首先,除非您在“本地服务”帐户下运行,否则您将无法模拟“网络服务”或“本地服务”等内置帐户,据我所知,这只能通过操作系统。

下面的文章为上述问题提供了一个可能的解决方案(我没有尝试过,只是在我自己开始写这些之前用谷歌搜索过),但它看起来很合理。

http://geek.hubkey.com/2008/02/impersonating-built-in-service-account.html

一旦在“本地服务”帐户下运行,您只需使用 LogonUser(也显示在上面的链接中)即可使用众所周知的 SID 的帐户名登录,然后模拟 token 。

我看到上面的链接将“CMD.EXE”作为一项服务运行,可以与桌面交互,请注意,“与桌面交互”功能已被弃用。

关于c# - 如何模拟 WellKnownSidType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682296/

相关文章:

c# - 不能将 MvcHtmlString/IHtmlString 与 RazorEngine 一起使用

.net - 当 3rd 方库依赖于旧版本时,使用带有新 publicKeyToken 的另一个版本的程序集

.net - 是否存在封装 CSS 选项的现有 .net 类

web-services - SharePoint 2013 中的自定义 Web 服务与模拟

c# - 帮助理解模拟

c# - 无法加载文件或程序集 'System.Drawing,版本 = 4.0.0.0

c# - 如何使用 .NET Core 在 Azure Function V3 中使用 IOptions 模式

c# - Parallel.ForEach 会阻塞吗?

.net - 提取字符串 foo : with regex 之后的数字

c# - 如何检查Windows用户是否可以通过模拟访问(Windows集成安全性身份验证)SQL Server Analysis Services(SSAS)服务器