Олицетворять весь процесс, а не просто поток

Я использую пакет SimpleImpersonation, который делает грязную работу вокруг некоторых внешних функций, например

[DllImport("advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
internal static extern bool LogonUser(string lpszUsername, string lpszDomain, string lpszPassword, int dwLogonType, int dwLogonProvider, out IntPtr phToken);

Я использую это так:

using (var imp = Impersonation.LogonUser(domain, user, password, LogonType.Interactive))
{
    // another user
}
//me again

Проблема в том, что этот метод олицетворяет пользователя только для текущего потока, в то время как мне нужно выполнять действия под другими учетными данными из всех потоков моего приложения. Как этого добиться?

0 ответов

Другие вопросы по тегам