Работа с примером провайдера учетных данных Windows 7 SDK - PullRequest
2 голосов
/ 18 января 2011

Я разрабатываю пользовательский вход в Windows, чтобы пользователь мог использовать веб-камеру (распознавание лиц) или имя пользователя и пароль.Я могу показать окно со всеми необходимыми элементами управления на экране входа в систему, но я не понимаю, как пройти аутентификацию с использованием имени пользователя и пароля.Для этого в окне используется функция GetSerialize () .

GetSerialization(
__out CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE* pcpgsr,
__out CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcs, 
__deref_out_opt PWSTR* ppwszOptionalStatusText, 
__in CREDENTIAL_PROVIDER_STATUS_ICON* pcpsiOptionalStatusIcon
)

выше - сигнатура функции.Как видите, система использует указатели CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE* и CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* для получения информации об имени пользователя и пароле.Как я могу назвать это для аутентификации.Или есть какой-нибудь альтернативный способ сделать это во время входа в систему.

1 Ответ

3 голосов
/ 28 сентября 2012

Интересно, вы уже решили это?

Вы не звоните GetSerialization(), который вызывается Windows (например, WinLogon для интерактивного входа в систему). Вам просто нужно заполнить ответ сериализации и сериализованные учетные данные. Если вы возвращаете ответ, в котором говорится, что вы успешно получили учетные данные от пользователя, то сериализованные данные передаются в локальный орган безопасности для проверки.

Если вы действительно хотите получить учетные данные в собственном приложении, вы можете сделать это, используя CredUIPromptForWindowsCredentials.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...