Я хотел бы запустить мою программу от имени другого пользователя.Я не хочу запускать только его части как другой пользователь.Я хочу, чтобы все это выполнялось другим пользователем.
Я нашел два способа сделать это:
1.
runas /user:joe "C:\Program Files (x86)\CoolApp\CoolApp.exe"
2.
Process p = new Process("C:\Program Files (x86)\CoolApp\CoolApp.exe");
p.StartInfo.UserName = "joe";
p.StartInfo.Password = "joe-rulz-123";
p.Start();
Первый способ может быть просто измененным ярлыком, но требует установки пароля (с переключателем /savecreds
), и я немного волнуюсьнеобходимо установить это снова.
Второй способ требует запуска программы из отдельной программы, которая, в то время как выполнимая, является одной дополнительной движущейся частью, которая мне не нужна.
Использование олицетворения очень популярноответ, но мне нужно запустить все приложение как пользователь, а не только его часть.
using (Impersonation.LogonUser(domain, username, password, logonType))
{
// do whatever you want as this user.
}
Нет ли в app.config или в манифесте приложения параметра, позволяющего жестко закодировать пользователя?