Есть несколько способов сделать это.Вам нужно позвонить AcceptSecurityContext
на тикете, чтобы получить контекст безопасности.Это то, что загружает все в Windows.Оттуда вы можете сделать пару разных вещей.
Обычно вы звоните ImpersonateSecurityContext
, чтобы текущий поток понимал, какого пользователя он считает нужным.После этого вы можете позвонить QuerySecurityContextToken
, чтобы получить дескриптор токена доступа Windows.С этой ручкой вы затем звоните CreateProcessAsUser
.Вы также можете сказать ему, чтобы он выполнял такие вещи, как загрузка профиля, если это необходимо.
Это на самом деле не выполняет вход в систему, как LogonUserX
, но эффективно запускает процесс от имени этого пользователя, обычно это то, что людинадеемся выполнить.