У меня возникли проблемы при попытке аутентификации пользователей домена с моим поставщиком учетных данных. Из примера 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
Спасибо
Вы решили свою проблему?
Я просто щелкнул ссылку, которую вы указали в ответе, и нашел примечание для pszUserName
параметр.
Для удостоверений в Интернете, если учетные данные являются открытым текстом, пароль
Формат имени пользователя — ProviderNameUserName. Если учетные данные
SEC_WINNT_AUTH_IDENTITY_EX2 структура, имя пользователя является закодированным
строка, которая является выходным параметром UserName вызова функции
SspiEncodeAuthIdentityAsStrings.
Функция SspiEncodeAuthIdentityAsStrings
имеет альтер эго — SspiEncodeStringsAsAuthIdentity — надо смотреть на это.
Других решений пока нет …