Я пытаюсь найти простое решение для аутентификации пользователя в Windows. Я бы хотел использовать инфраструктуру MFC для достижения этой цели.Проверка подлинности Windows в VC++
Я гугл об этом и обнаружил, что мне нужно использовать следующую функцию Win32 API:
LogonUser(L"LocalServer", L"NT AUTHORITY", NULL, LOGON32_LOGON_SERVICE, LOGON32_PROVIDER_DEFAULT, &hToken)
Но я не знаю, как заставить его работать. В соответствии с документацией MSDN он возвращает ноль при сбое.
Также при поиске этого я натолкнулся на термин Олицетворение. Было бы здорово, если кто-нибудь сможет это объяснить.
Может кто-нибудь указать на хорошую статью или ресурс для объяснения этой темы. Также было бы здорово увидеть рабочий пример.
Заранее спасибо.
решение не работает, всегда возвращает TRUE, даже если я ввожу неправильный логин или пароль. – Yogesh
Это странно. Используете ли вы Windows-домены или нет? –
Да, я использую домен Windows. Для параметра sLogin я передал что-то вроде _T («domain \\ username»). Но он всегда возвращает TRUE. Когда я изменил LOGON32_LOGON_NEW_CREDENTIALS на LOGON32_LOGON_SERVICE, он всегда возвращает FALSE. – Yogesh