Перейти к основному содержимому

Аутентификация LDAP

Этот документ описывает, как настроить аутентификацию Lightweight Directory Access Protocol (LDAP) в Moodle. Мы рассмотрим основные, расширенные разделы и разделы по устранению неполадок, чтобы помочь пользователю в установке и администрировании LDAP в Moodle.

Базовый сценарий

Простой и понятный подход для большинства установок.

Предположения

Moodle поддерживает несколько типов серверов LDAP, которые имеют разные структуры каталогов, специальные настройки и т. д. Даже если используется один и тот же тип сервера LDAP (например, MS Active Directory), на каждом сайте может использоваться совершенно разная структура каталогов для хранения учётных записей пользователей, групп и т. д. Чтобы иметь возможность показать пример настроек конфигурации в разделах ниже, мы будем предполагать гипотетический сайт Moodle и сервер LDAP с характеристиками, перечисленными ниже.

ВАЖНО: обязательно проверьте детали вашего сайта Moodle и сервера LDAP (включая структуру каталогов) и настройте параметры в соответствии с вашей собственной конфигурацией.

  1. Ваш сайт Moodle расположен по адресу http://your.moodle.site/.
  2. Вы настроили PHP с расширением LDAP. Оно загружено и активировано, и его можно увидеть, перейдя по адресу http://your.moodle.site/admin/phpinfo.php (авторизовавшись как пользователь «admin»).
  3. IP-адрес вашего сервера LDAP — 192.168.1.100.
  4. Вы не используете LDAP с SSL (также известный как LDAPS) в своих настройках. Это может помешать выполнению определённых операций (например, вы не сможете обновить данные, если используете MS Active Directory — далее MS-AD), но должно быть нормально, если вы просто хотите аутентифицировать своих пользователей.
  5. Вы не хотите, чтобы ваши пользователи меняли свои пароли при первом входе в Moodle.
  6. Вы используете один домен в качестве источника данных для аутентификации, если вы используете MS-AD (подробнее в приложениях).
  7. Вы используете верхнее отличительное имя (DN) dc=my,dc=organization,dc=domain в качестве корня вашего LDAP-дерева.
  8. У вас есть непривилегированная учётная запись пользователя LDAP, которую вы будете использовать для подключения к серверу LDAP. Это не обязательно для некоторых серверов LDAP, но MS-AD требует этого, и это не повредит, даже если ваш сервер LDAP этого не требует. Убедитесь, что эта учётная запись и её пароль не истекают, и сделайте этот пароль максимально надёжным. Помните, что вам нужно будет ввести этот пароль только один раз при настройке Moodle, так что не бойтесь сделать его максимально сложным для угадывания. Допустим, у этой учётной записи пользователя DN cn=ldap-user,dc=my,dc=organization,dc=domain, а пароль — hardtoguesspassword.
  9. Все ваши пользователи Moodle находятся в организационном подразделении (OU) под названием moodleusers, которое находится прямо под корнем вашего LDAP. У этого подразделения DN ou=moodleusers,dc=my,dc=organization,dc=domain.
  10. Вы не хотите, чтобы пароли ваших пользователей LDAP хранились в Moodle вообще.

Включение аутентификации LDAP

Администратор может включить аутентификацию LDAP следующим образом:

  1. Перейдите в Администрирование сайта > Плагины > Аутентификация > Настройки аутентификации и нажмите на значок глаза напротив LDAP Server. После включения он больше не будет выделен серым цветом.
  2. Нажмите на ссылку настроек, настройте по мере необходимости (см. информацию ниже), затем нажмите кнопку «Сохранить изменения».

Теперь вам просто нужно заполнить значения. Давайте сделаем это шаг за шагом.

Настройки сервера LDAP

Название поляЗначение для заполнения
Host URLПоскольку IP-адрес вашего сервера LDAP — 192.168.1.100, введите «ldap://192.168.1.100» (без кавычек) или просто «192.168.1.100» (у некоторых людей возникают проблемы с подключением к первому синтаксису, особенно на серверах MS Windows).
VersionЕсли вы не используете очень старый сервер LDAP, выберите версию 3.
LDAP EncodingУкажите кодировку, используемую сервером LDAP. Скорее всего, utf-8.

Оглавление

Параметры подключения

Название поляЗначение для заполнения
Не кэшировать паролиПоскольку вы не хотите хранить пароли пользователей в базе данных Moodle, выберите здесь Да.
Отличительное имяЭто отличительное имя учётной записи пользователя для подключения, определённое выше. Просто введите «cn=ldap-user,dc=my,dc=organization,dc=domain» (без кавычек).
ПарольЭто пароль учётной записи пользователя для подключения, определённый выше. Введите «hardtoguesspassword» (без кавычек).

Оглавление

Настройки поиска пользователей

Название поля

Значение для заполнения

Тип учётной записи пользователя

Выберите:

  • Novell Edirectory, если на вашем сервере LDAP запущена eDdirectory от Novell.
  • posixAccount (rfc2307), если на вашем сервере LDAP запущена совместимая с RFC-2307 LDAP-сервер (выберите это, если на вашем сервере запущена OpenLDAP, включая Mac OS X server).
  • posixAccount (rfc2307bis), если на вашем сервере LDAP запущена совместимая с RFC-2307bis LDAP-сервер.
  • sambaSamAccount (v.3.0.7), если на вашем сервере LDAP используется расширение схемы LDAP SAMBA 3.x и вы хотите его использовать.
  • MS ActiveDirectory, если на вашем сервере LDAP запущена Microsoft Active Directory (MS-AD)

Контексты

DN контекста (контейнера), в котором находятся все ваши пользователи Moodle. Введите ou=moodleusers,dc=my,dc=organization,dc=domain здесь. На Mac OS X Server это обычно cn=users,dc=my,dc=organization,dc=domain.

Поиск в подконтекстах

Если у вас есть подорганизационные подразделения (подконтексты), подключённые к ou=moodleusers,dc=my,dc=organization,dc=domain, и вы хотите, чтобы Moodle также искала там, установите значение да. В противном случае установите значение нет.

Раскрывать псевдонимы

Иногда ваш сервер LDAP сообщит вам, что реальное значение, которое вы ищете, на самом деле находится в другой части LDAP-дерева (это называется псевдонимом). Если вы хотите, чтобы Moodle «раскрывала» псевдоним и извлекала реальное значение из исходного местоположения, установите значение да. Если вы не хотите, чтобы Moodle раскрывала его, установите значение нет. Если вы используете MS-AD, установите значение нет.

Атрибут пользователя

Атрибут, используемый для именования/поиска пользователей в вашем LDAP-дереве. Эта опция принимает значение по умолчанию, основанное на значении типа учётной записи пользователя, выбранном выше. Так что, если вам не нужно что-то особенное, вам не нужно заполнять это. Кстати, обычно это cn (Novell eDirectory и MS-AD) или uid (RFC-2037, RFC-2037bis и SAMBA 3.x LDAP extension), но если вы используете MS-AD, вы можете (и должны, если собираетесь использовать NTLM SSO) использовать sAMAccountName (имя учётной записи до Windows 2000) при необходимости.

Корректировка: с MS-AD следует использовать sAMAccountName в любом случае. Со значением по умолчанию (cn) пользователи AD должны будут входить в систему с полным именем/паролем (Имя пользователя: