Пользовательская обработка создания профиля пользователя домена

Я хочу подключиться к системе регистрации пользователей домена и заняться созданием собственного локального профиля. У меня есть два основных связанных вопроса:

  1. Как перехватить аутентификацию пользователя домена?
  2. Могу ли я заниматься созданием пользовательских профилей самостоятельно?
    • Использование перемещаемых профилей не вариант
    • Использование обязательных профилей также не вариант

Целевые платформы- Windows 7 Enterprise, Professional, Home Premium (опционально)

Я не против использовать Active Directory, но я бы предпочел использовать программное обеспечение Linux (Samba 4?), Потому что все мои серверы будут работать под управлением Linux. Это относительно не связано, потому что я просто хочу какую-то документацию или даже что искать в Google.

РЕДАКТИРОВАТЬ: Я нашел эту ссылку на веб-странице Microsoft MSDN.

Я также обнаружил, что это действительно полезно для начала настройки GINA.

Нужно ли какое-либо специальное программное обеспечение для создания пакета аутентификации? Можно ли получить доступ к веб- или сетевому ресурсу из этого сценария для проверки учетных данных?

4 ответа

Решение

В этом случае вы могли бы создать службу Windows, работающую с привилегиями LocalSystem, и связаться с ней с вашим поставщиком учетных данных.

Когда пользователь вводит свои учетные данные в ICredentialsProvider, он связывается со службой Windows, и служба будет обрабатывать аутентификацию.

После успешной аутентификации служба должна убедиться, что такая учетная запись локально присутствует в системе, в противном случае создайте новую локальную учетную запись с NetUserAdd и войдите в систему с этой учетной записью.

Имейте в виду, что ICredentialsProvider не имеет привилегий для создания локальной учетной записи или использования большинства функций Net*, поэтому я предлагаю создать службу Windows с привилегиями LocalSystem.

Если вы просто хотите внести небольшое количество изменений в профили, вы можете рассмотреть возможность использования Active Setup.

Как только вы настроите это на компьютере, он будет работать сразу после загрузки профиля пользователя, и вы сможете затем вносить изменения в свои файлы / настройки и т. Д.

Это не полномасштабный ответ, но я думаю, что это существенное дополнение к решению.

В системах, основанных на Windows NT до Windows Vista, Microsoft использовала нечто, называемое GINA (графический интерфейс и аутентификация), для выполнения большей части аутентификации верхнего уровня для пользовательских входов, но она также использовала нечто, называемое WinLogin, для вещей более низкого уровня. С GINA программист может создать настраиваемый пользовательский интерфейс и аутентификацию для WinLogin, а WinLogin вызовет методы, необходимые для обработки входа в систему. Но, как и все остальное, с Vista все изменилось.

В Vista Microsoft предоставила интерфейс под названием ICredentialProvider, который позволяет пользователю зарегистрировать провайдер учетных данных. Вот статья о том, почему GINA была удалена, которая также дает довольно хорошее введение в новую систему.

Так как это оказалось в большей степени основано на программировании, чем на ИТ, я продолжу и задам вопрос на StackOverflow об особенностях реализации этого. Не похоже, что какое-либо специальное программное обеспечение необходимо.

Второй вопрос все еще стоит. Я продолжу поиск ответа на вопрос, смогу ли я справиться с созданием своего собственного профиля. Я думаю, что это должно быть возможно, но я не уверен.

Большинство мест, которые я знаю, которые нуждаются в получении информации в новых профилях пользователей, делают это, изменяя каким-то образом профиль пользователя по умолчанию. Этот профиль импортируется во все новые профили, так же, как /etc/skel делает в системах Unix. По необходимости это глупый процесс, поэтому запуск пользовательских сценариев как части копии профиля на самом деле невозможен, если не считать сценариев запуска при входе, закодированных в Default User.

Другие вопросы по тегам