5 / 5 / 1
Регистрация: 05.11.2013
Сообщений: 58
|
|
1 | |
Вызов нового процесса из impersonated thread06.03.2014, 14:59. Показов 765. Ответов 3
Метки нет (Все метки)
Доброго %time_of_day%!
Пытаюсь запустить процесс из имперсонифицированного потока. LogonUser->DuplicateToken->SetThreadToken(в моем случае new WindowsIdentity), в результате поток нормально имперсонифицируется, но при запуске из этого потока нового процесса тот запускается под учетными данными родительского процесса (неимперсонифицированными). Соответственно, вопрос - каким образом запустить новый процесс с имперсонификацией из отдельного потока, или не париться, и запускать новый процесс заполняя структуру StartInfo вручную учетными данными пользователя? Спасибо заранее!
0
|
06.03.2014, 14:59 | |
Ответы с готовыми решениями:
3
Создание нового процесса Вызов нового процесса Неоднозначный вызов следующих методов или свойств - Thread.Thread() Порождение нового процесса и запуск программы в рамках порожденного процесса |
Ушел с форума
|
|
06.03.2014, 21:03 | 2 |
Во-первых, попробуйте вместо SetThreadToken использовать ImpersonateLoggedOnUser/.../RevertToSelf.
Поскольку SetThreadToken, как следует из документации, укажите, что вам нужен primary token.
1
|
5 / 5 / 1
Регистрация: 05.11.2013
Сообщений: 58
|
|
07.03.2014, 10:06 [ТС] | 3 |
А чем грозит отсутствие RevertToSelf в случае, если все дальнейшие шаги должны быть выполнены с имперсонификацией? Т.е. мне контекст текущего пользователя по большому счету и не нужен после того, как запустился привилегированный тред.
0
|
Ушел с форума
|
|
07.03.2014, 19:59 | 4 |
Если не вызвать RevertToSelf - поток останется в контексте клиента.
0
|
07.03.2014, 19:59 | |
07.03.2014, 19:59 | |
Помогаю со студенческими работами здесь
4
Запуск нового процесса в контейнере существующего процесса Создание нового потока Thread Повторный вызов Thread.sleep(); Вызов методов OLE в потоке (Thread) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |