Аутентификация во внешней базе данных
Расположение: Администрирование > Плагины > Аутентификация > Внешняя база данных
Этот метод использует таблицу внешней базы данных, чтобы проверить, действительны ли указанные имя пользователя (которое должно быть varchar) и пароль. Если пользователь в настоящее время не существует в Moodle, будет создана новая учётная запись, и информация будет скопирована из внешней базы данных.
Сопоставления полей
Это делается путём сопоставления полей в нижней части страницы аутентификации базы данных. Каждое поле данных в профиле пользователя имеет текстовое поле рядом с ним. Введите имя столбца во внешней базе данных, которое сопоставляется с полем данных профиля.
Обновление локальной учётной записи — Указывает, что внешние данные будут введены в соответствующее локальное поле.
- При создании — указывает, что это произойдёт только при первоначальном входе в систему, когда учётная запись создаётся впервые.
- При каждом входе — указывает, что изменения во внешних данных будут обновлены в соответствующем локальном поле Moodle при следующем входе пользователя в систему.
Обновление внешней учётной записи — Указывает как раз обратное, то есть изменения в локальном поле Moodle будут обновлять соответствующее поле во внешней базе данных.
- Никогда — Указывает, что это отключено.
- При обновлении — Позволяет это сделать, если изменение было произведено локально (вероятно, потребуется дополнительная настройка).
Заблокировать значение — Определяет только то, может ли локальный пользователь вносить изменения в поле Moodle, и не влияет на два вышеуказанных параметра.
- Разблокировано — Пользователь может вносить изменения локально в поле Moodle (предположительно, даже если это противоречит внешней базе данных, при следующем входе в систему это снова изменится, если установлено обновление локальной учётной записи).
- Заблокировано — Пользователь никогда не сможет вносить изменения.
- Разблокировано, если пусто — Пользователь может вносить изменения только в том случае, если поле ещё не заполнено из внешней базы данных (это, по-видимому, означает, что пользо ватель может ввести что-либо в это поле только один раз и не может изменить это после сохранения).
Автоматическая синхронизация
Вышеописанный метод добавляет новых пользователей только при их входе в систему. Если вы хотите, чтобы учётные записи пользователей создавались в Moodle независимо от фактического входа в систему, вы должны включить задачу синхронизации пользователей auth_db (auth_db\task\sync_users) на странице Планировщик задач. По умолчанию это выполняется один раз в день, при необходимости можно настроить расписание для более частого запуска.
Если на вашем сайте есть пользовательские поля профиля, их также можно синхронизировать с помощью этой запланированной задачи.
Дополнительные примечания
Теперь можно использовать пароли с Salted Crypt для формата паролей при аутентификации во внешней базе данных из настройки формата пароля:

- Сопоставление паролей в виде обычного текста теперь всегда учитывает регистр.
- Сравнение хэшей sha1/md5 теперь не учитывает регистр (поскольку они являются шестнадцатеричными значениями).
- Некоторые вещи, которые применяются к Загруженным пользователям, применяются и к внешней базе данных, но не все поля в Загруженных пользователях доступны для аутентификации во внешней базе данных. Единственные доступные поля — это поля, перечисленные в разделе сопоставления данных на странице администратора для подключения к внешней базе данных.
- Обратите внимание, что для баз данных MySQL moodle будет хранить пользовательские поля даты профиля в поле bigint (в виде временной метки unix). Использование поля timestamp или datetime не будет работать.