Пользователи домена провайдера учетных данных Windows 8
У меня возникли проблемы при попытке аутентификации пользователей домена с моим поставщиком учетных данных. Из примера Microsoft есть _fIsLocalUser
переменная, которая проверяется в CSampleCredential::GetSerialization
, Это обычно верно для большинства случаев; однако, если подключен к домену и с Other User
тогда я получаю The parameter is incorrect
, Кажется, что даже предложенный формат <Domain>\<Username>
не принимается, когда учетные данные сериализованы. Если возможно, я также хотел бы поддержать <Username>@<UPN>
также.
Я не уверен, если этот метод является проблемой, однако вот документация https://msdn.microsoft.com/en-us/library/windows/desktop/aa374802(v=vs.85).aspx
Спасибо
1 ответ
Вы решили свою проблему?
Я просто щелкнул ссылку, которую вы указали в ответе, и нашел примечание для pszUserName
параметр.
Для сетевых удостоверений, если учетные данные представляют собой открытый текстовый пароль, формат имени пользователя будет ProviderNameUserName. Если учетные данные являются структурой SEC_WINNT_AUTH_IDENTITY_EX2, имя пользователя является закодированной строкой, которая является выходным параметром UserName при вызове функции SspiEncodeAuthIdentityAsStrings.
Функция SspiEncodeAuthIdentityAsStrings
есть его альтер эго - SspiEncodeStringsAsAuthIdentity - нужно посмотреть на это.