Замена GINA на языке.NET?

Я искал довольно много мест, и я только нашел одну замену GINA названной pGINA, но это находится в C++, который я не знаю вообще.

Кто-либо знает один или в C# или в VB.NET?

(Я пишу программное обеспечение для использования на работе для управления тем, что сотрудники делают),

8
задан Jon Seigel 5 March 2010 в 21:59
поделиться

2 ответа

Размещение .NET в Winlogon (где загружаются dll-файлы GINA), вероятно, не такая уж горячая идея - может вызвать всевозможные конфликты, если что-то еще решит сделать То же самое, и если вы выбросите winlogon в мусор, вы ничего не добьетесь с этим ПК. Кроме того, начиная с Vista, GINA была заменена на ICredentialProvider (см. здесь ), поэтому ваши инвестиции будут потеряны, как только вы перейдете на новую ОС. Даже там применяется то же самое: настраиваемые поставщики учетных данных загружаются в Winlogon, поэтому, вероятно, не стоит использовать .NET там.

Тем не менее, оба они предназначены для поддержки настраиваемых модулей аутентификации, а не «контроля над тем, что делают сотрудники». Есть и другие способы запустить программное обеспечение на рабочих столах для входа в систему, если это то, что вы пытаетесь сделать.

Все сказанное, если вы все же хотите попробовать, вам понадобится неуправляемая оболочка DLL, C ++ / CLI или некоторый взлом IL (см. здесь ) для экспорта функций GINA, потому что C # не может напрямую экспортировать функции DLL. Чисто управляемое решение C # невозможно.

11
ответ дан 5 December 2019 в 12:59
поделиться

Чтобы подробнее рассказать об отличных моментах компании nitzmahone:

Полная замена GINA - это действительно запрет на использование управляемого кода. OTOH, вполне возможно написать замену GINA на C ++ и заставить ее вызывать код .Net для выполнения основной работы.

Несколько лет назад я использовал эту технику, чтобы заменить экран CTRL + ALT + DEL на красивую службу новостей. Мой собственный GINA был прокси для стандартного GINA. В большинстве случаев он прозрачно передавал вызовы стандарту GINA. Исключением было то, что он запускал .exe для приложения .Net вместо отображения экрана ALT + DEL + CTRL, а затем ждал завершения .exe перед отображением экрана входа в систему.

С сожалением, я отказался от проекта, когда стало ясно, что работа не может быть напрямую применена к Vista.

2
ответ дан 5 December 2019 в 12:59
поделиться