Поделиться через


Настройка Winlogon

Настройте поведение Winlogon путем реализации поставщика учетных данных. Сведения о поставщиках учетных данных см. в интерфейсе ICredentialProvider.

Windows Server 2003 и Windows XP: поставщики учетных данных не поддерживаются.

В следующих разделах описаны способы настройки Winlogon в версиях Windows до Windows Vista.

Заметка

В Windows Vista игнорируются библиотеки DLL GINA и пакеты уведомлений Winlogon.

 

Пакеты уведомлений Winlogon

Пакет уведомлений Winlogon — это библиотека DLL, которая экспортирует функции, обрабатывающие события Winlogon. Например, когда пользователь входит в систему, Winlogon вызывает каждый пакет уведомлений для предоставления сведений о событии. Дополнительную информацию см. в пакетах уведомлений Winlogon .

Заглушки GINA

Заглушка GINA — это пользовательская библиотека DLL GINA, использующая реализации функций экспорта ранее установленной библиотеки GINA DLL (обычно MsGina.dll). Заглушка GINA получает указатели на функции, экспортированные библиотекой DLL GINA, установленной ранее. Каждая функция заглушки GINA далее использует соответствующий функциональный указатель для вызова соответствующей функции в ранее установленной библиотеке DLL GINA.

Важный

Каждая функция заглушки GINA должна вызывать соответствующую функцию в ранее установленной GINA.

 

Функция заглушки GINA может реализовать дополнительные функции в одной или нескольких ее функциях экспорта. Например, функция WlxLoggedOutSAS заглушки GINA может проверить текущее время перед вызовом функции WlxLoggedOutSAS MsGina.dll. Если текущее время находилось в определенном диапазоне, функция заглушки может отобразить сообщение, указывающее, что вход запрещен в течение этого периода времени и возвращает WLX_SAS_ACTION_NONE в Winlogon. Функция WlxLoggedOutSAS в MsGina.dll будет вызываться только в течение допустимого периода времени.

Приложение-заглушка GINA получает таблицу диспетчерских функций для поддержки Winlogon через параметр pWinlogonFunctions функции WlxInitialize. Приложение-заглушка GINA может использовать эту таблицу диспетчеризации для вызова поддерживающих функций Winlogon. Например, вспомогательное приложение GINA может вызывать функцию WlxSasNotify, чтобы вызвать событие безопасного внимания (SAS), когда смарт-карта вставляется в ридер.

Дополнительную информацию о создании заглушки GINA можно найти в примере Gina Stubs, который находится в каталоге \Samples\Security\Gina\GinaStub в установке Платформенного Набора Средств Разработки (SDK).

Заметка

Все обращения между GINA и Winlogon должны выполняться в одном потоке.

 

GINA Hooks

Заглушка GINA — это заглушка GINA, которая в реализации функции WlxInitialize заменяет указатель на функцию поддержки WlxDialogBoxParam в таблице отправки указателем на собственную реализацию функции WlxDialogBoxParam. В результате каждый раз, когда ранее установленный компонент GINA (обычно MsGina.dll) вызывает функцию WlxDialogBoxParam, вызывается функция, реализованная перехватчиком GINA.

Функция WlxDialogBoxParam, реализованная через перехватчик GINA, может заменить процедуру обратного вызова DialogProc, которая отвечает на конкретное событие диалогового окна.

Это дает GINA-хуку полный контроль над внешним видом и поведением всех диалоговых окон, которые создаются MsGina.dll.

Дополнительные сведения о создании перехватчика GINA см. в примере Gina Hooks в каталоге \Samples\Security\Gina\GinaHook установки пакета SDK для платформы.

Заметка

Все вызовы между GINA и Winlogon должны находиться в одном потоке.