Поставщик учетных данных, используемый для передачи учетных данных пользователя в стек безопасности Windows. По умолчанию система включает поставщиков паролей, PIN-кодов, смарт-карт и средств входа в Windows Hello. Однако что делать, если они нам не подходят? Поставщики учетных данных основаны на технологии COM и запускаются в процессе пользовательского интерфейса winlogon. Создание такого провайдера на C# уже описано в статье.
Стив Сайфус , однако его реализация не корректно обрабатывала разблокировку рабочей станции, и возникло желание переписать код в фреймворке Net Core, с которым мне чаще всего приходится работать.
Чтобы начать разработку, вам необходимо настроить COM-взаимодействие, которое позволит вам вызывать код .
NET из COM-компонентов.
Для взаимодействия необходимо правильно настроить интерфейсы; для этого вы можете использовать определения MSDN или используйте упрощенный вариант с использованием файла IDL, который определяет необходимые интерфейсы из Windows SDK. Все, что вам нужно сделать, это преобразовать его в библиотеку типов, а затем преобразовать в сборку .
NET. Для компиляции библиотеки типов используется утилита Midl.exe, но перед ее использованием необходимо отредактировать файл credentialprovider.idl. Как оказалось, если использовать этот файл без изменения, то некоторые методы в интерфейсах недоступны, чтобы это исправить нужно переместить объявление CLSID в начало файла.
Теги: #Windows Development #Windows #C++ #.// C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\credentialprovider.idl [ uuid(d545db01-e522-4a63-af83-d8ddf954004f), // LIBID_CredentialProviders ] library CredentialProviders {
NET #winapi #поставщик учетных данных
-
Обновление Яндекс.метрики: 5 Новых Функций
19 Oct, 24 -
Что Шестиклассник Знает О Компьютерах?
19 Oct, 24