Полностью заменить экран входа в Windows 7?

В Windows XP можно было заменить интерфейс входа в систему на собственную реализацию GINA, которая могла бы добавлять дополнительные функции на экран входа в систему, а также реализовывать некоторые особенности организации.

Я просмотрел ряд статей MSDN, и все они предполагают, что этого невозможно достичь с помощью новой системы входа в систему (Windows Vista и новее).

Однако на экране входа в систему или каждый раз, когда вызывается последовательность SAS, запускается процесс LogonUI и предоставляет пользователю интерфейс, похожий на GINA.

Мне было интересно, можно ли развернуть вашу собственную реализацию LogonUI с целью замены пользовательского интерфейса входа / SAS? Я не смог найти никаких статей об этом, но Думаю, это жизнеспособный вариант.


person Kristina Brooks    schedule 12.11.2011    source источник
comment
Что вы знаете о поставщиках учетных данных?   -  person David Heffernan    schedule 12.11.2011
comment
Я хочу заменить весь экран входа в систему. Поставщики учетных данных (поправьте меня, если я ошибаюсь) позволяют предоставлять и проверять учетные данные только для пользовательских систем входа.   -  person Kristina Brooks    schedule 12.11.2011
comment
Кажется, я помню, как читал, что поставщики учетных данных - единственный доступный вариант настройки. Но я очень далек от знаний.   -  person David Heffernan    schedule 12.11.2011


Ответы (1)


Немного поздно, но поехали. Вы можете создать настраиваемого поставщика учетных данных со своими собственными полями, чтобы принимать учетные данные для входа в систему (какую бы форму они ни принимали). Если вы хотите выйти за рамки этого и создать небольшой рабочий процесс, вам нужно будет запустить модальное окно в методе SetSelected учетных данных. Затем вы можете в значительной степени использовать свою реализацию GINA (без фактических функций GINA). Используйте тип CPUS, чтобы узнать, в каком режиме вы работаете (LOGON, LOCK_WORKSTATION, CHANGE_PASSWORD и т. Д.), И соответствующим образом настройте свой пользовательский интерфейс.

Очевидно, что это не «рекомендуемый» подход (на самом деле довольно хакерский), но он самый простой. Одно предостережение: у вас будут проблемы с таймаутами C-A-D и т. Д., Так что будьте готовы к некоторым сюрпризам.

Другой, возможно, более элегантный способ - создать настраиваемого поставщика учетных данных с экраном входа / разблокировки (правильный способ). Затем предоставьте ссылки для запуска других рабочих процессов (например, сброса пароля). Вы можете написать собственные экраны, которые будут запускаться при нажатии определенной ссылки, реализовав метод CommandLinkClicked учетных данных.

Если у вас есть время и вы хотите все сделать правильно, я бы порекомендовал второй подход. Вы избавите себя от многих головных болей в будущем.

person Vivek    schedule 06.12.2011