Для чего используется возвращаемый токен LogonUser()?

Что вы можете сделать с токеном, который возвращает LogonUser ? И для чего он используется?

BOOL LogonUser(
  __in      LPTSTR lpszUsername,
  __in_opt  LPTSTR lpszDomain,
  __in      LPTSTR lpszPassword,
  __in      DWORD dwLogonType,
  __in      DWORD dwLogonProvider,
  __out     PHANDLE Token
);

Мне просто нужно более общее описание и реальное использование того, что такое токен и как он работает.

Спасибо, -Пит


person Petey B    schedule 26.06.2009    source источник
comment
Ссылка MSDN на LogonUser, которую вы предоставили, объясняет, для чего вы можете ее использовать. Я в замешательстве, почему вы спрашиваете.   -  person Zan Lynx    schedule 26.06.2009
comment
@Zan Lynx, я не совсем понял статью MSDN, мне нужно лучшее (более общее, я думаю) описание   -  person Petey B    schedule 26.06.2009
comment
Зачем нужна функция LogonUser?   -  person Kirill V. Lyadvinsky    schedule 26.06.2009


Ответы (1)


Как говорит MSDN: «В большинстве случаев возвращаемый дескриптор является основным токеном, который вы можете использовать при вызовах функции CreateProcessAsUser». Нет причин не верить.

Образец: вы можете написать свой собственный runas.exe. Вызовите LogonUser с именем пользователя и паролем из командной строки. Затем вызовите CreateProcessAsUser, чтобы запустить программу с выбранными учетными данными.

person Kirill V. Lyadvinsky    schedule 26.06.2009