Часто задаваемые вопросы и ответы по C/C++/Visual C++
Последнее обновление: 27.08.2003
FAQ по C/C++/Visual C++
Работа с сетью
Привилегии
Составители: SUnteXx, Leprecon
Привилегии
A: (Nikolay Nosov)
Оригинальная ссылка: нету

//Q: Как процессу во время выполнения получить привилегии
//какого-либо пользователя?

//A: Надо переопределить контекст процесса

HANDLE hToken, hThread;
//Получаем новый контекст
if(LogonUser("uname", "domain", "upass", LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &hToken))
   {
      //Переопределяем контекст процесса
      ImpersonateLoggedOnUser(hToken);
   }
//Делаем то, что надо от имени этого пользователя
RevertToSelf();//Возвращаем процессу прежний контекст
CloseHandle(hToken);//Освобождаем дескриптор контекста

//Если пользователь локльный, то domain = "."

Содержание Обсудить на форуме « Предыдущая статья | Следующая статья »
Перейти к FAQ:  
FAQ составлен по материалам Форума на Исходниках.Ру.
Copyright © 2002 by Sources.ru. All rights reserved.