В настоящее время я пытаюсь понять, как создаются пользовательские поставщики учетных данных.
У меня есть образец, чтобы помочь мне. Этот пример особенно реализует ICredentialProvider и ICredentialProviderFilter для WinLogon.
Моя задача - реализовать сценарий использования CPUS_CREDUI.
Тем не менее, есть много вещей, которые я не понимаю в первоначальной реализации, поэтому я даже не могу ожидать, что сделаю свою собственную реализацию.
Вся документация, которую я нашел, объясняет только то, что на самом деле делает каждая часть. Какая единственная часть, «достаточно ясная», на мой взгляд.
Проблема в том, что я не могу соединить эти части вместе.
Казалось, разные функции вызываются самой Windows. Как я могу узнать, кто звонил, какие параметры используются, такого рода вещи?
Если бы я знал, я мог бы лучше понять весь процесс.
Например:
Существует рекуррентный параметр типа CREDENTIAL_PROVIDER_USAGE_SCENARIO, который, кажется, изменяет способ инициализации CP далее в коде.
Кажется, что он сначала определен в конструкторе CredentialProvider, но, поскольку я не знаю, кто является вызывающим конструктором ...
Я предполагаю, что он вызывается WinLogon, но если это так, что на самом деле определяют параметры?
В журналах выборки значение этого параметра всегда отображается как «CPUS_LOGON».
Если это является следствием того, что конструктор CP был вызван WinLogon (если моя предыдущая гипотеза верна), как CPUS_CREDUI может быть вызван, так как он находится после входа в систему?
Это основные вопросы, которые у меня есть. Спасибо, если кто-то может меня осветить.
Я также открыт для любой дополнительной информации, которую вы бы получили для меня.