Мы внедряем настраиваемый поставщик учетных данных на основе токенов HW для Windows 10 на основе ICredentialProvider
, ICredentialProviderCredential
и подобных.
Это прекрасно работает для пользователей, которые отображаются в виде плиток на экране входа в систему: когда токен подключается, мы запрашиваем повторную нумерацию учетных данных, вызывая ICredentialProviderEvents::CredentialsChanged
, а затем указываем в ICredentialProvider::GetCredentialCount
, что у нас есть учетные данные, которые должны быть установлены по умолчанию и выполнять автоматический вход в систему.
Проблема в том, что в Windows 10 в списке плиток отображаются не все локальные пользователи, а только те, кто в данный момент вошел в систему, а также последний пользователь, который входил в систему ранее.
Если мы вернем учетные данные для пользователя не отображается в тайлах, но с валидным SID и указать его по умолчанию и чтобы авторизоваться автоматически - ничего не происходит, т.е. учетные данные ICredentialProviderCredential::GetSerialization
не вызываются.
Как мы можем выполнить автоматический вход в систему для пользователя, который не отображается?
Это может сделать встроенный провайдер на основе отпечатков пальцев.