Плагин «Аутентификация СЭО 3КL»

Гусев Сергей
2021-08-11 13:04
Плагин с таким названием и обновленным функционалом доступен в СЭО 3КL начиная с версии 3.9.7b.
Если вы используете более раннюю версию системы — обратитесь с заявкой на проведение обновления в службу технической поддержки ООО «Открытые технологии».
 Описание устаревшей версии плагина — в статье Плагин аутентификации «Синхронизация с Free Deans Office».

1. Общая информация

Плагин «Аутентификация СЭО 3КL» обеспечивает возможность самостоятельной регистрации пользователей в системе. Функционал модуля позволяет:

  • устанавливать состав, порядок, «обязательность», «видимость» и доступность для редактирования полей формы регистрации;
  • настраивать алгоритм и количество этапов регистрации;
  • определить сценарий регистрации;
  • настраивать параметры двухфакторной аутентификации;
  • обеспечить автоматическое добавление пользователя в Электронный деканат одновременно с регистрацией в СЭО 3КL;
  • использовать дополнительную защиту от спама.

1.1. Необходимые права

Для выполнения операций, описанных ниже, уровень ваших прав в системе должен быть «Полный Администратор».
По умолчанию мы предоставляем доступ «Диспетчер-Администратор». Для изменения глобальных конфигураций мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы.
Подробнее — в статье Полный административный доступ.

2. Настройки плагина «Аутентификация СЭО 3КL»

2.1. Включение плагина

Включение/отключение функционала плагина доступно на странице «Настройки аутентификации» (меню Настройки->Администрирование->Плагины->Аутентификация->Настройки аутентификации) (поз. 1 Рис. 2.1.1).

Рис. 2.1.1. Страница «Настройки аутентификации» в разделе «Администрирование» меню «Настройки».

Пиктограмма  в столбце «Включить» соответствует включенному состоянию плагина, пиктограмма — выключенному. Переключение состояния осуществляется нажатием на текущую пиктограмму.

В поле «Самостоятельная регистрация» раздела «Общие настройки» страницы «Настройки аутентификации» должен быть выбран параметр «Аутентификация СЭО 3КL»  (см. поз. 2. Рис. 2.1.1).

-Вернуться к содержанию-

2.2. Общие настройки

Общие настройки плагина представлены на одноименной странице, расположенной в меню Настройки->Администрирование->Плагины->Аутентификация->Аутентификация СЭО 3КL->Общие настройки (поз. 3 Рис. 2.2.1).

 

 Рис. 2.2.1. Плагин «Аутентификация СЭО 3КL» в меню «Администрирование».

Настройки на странице сгруппированы в тематические разделы (Рис. 2.2.2).

Рис. 2.2.2. Общие настройки плагина «Аутентификация СЭО 3КL».
  • Двухфакторная аутентификация

Включить двухфакторную аутентификацию. Установка/снятие маркера в чекбоксе позволяет включить/отключить сценарий двухфакторной аутентификации: после того, как пользователь указал логин и пароль, система генерирует и отправляет ему одноразовый код из 4 цифр (на почту или по СМС, в зависимости от настроек) и авторизация в СЭО 3КL будет произведена только после ввода этого кода.

Срок жизни кода. Определяет промежуток времени с момента генерации кода, в течении которого пользователь может ввести код подтверждения и успешно авторизоваться.

Количество разрешенных попыток ввода проверочного кода. Параметр устанавливает количество возможных попыток ввода проверочного кода.

Двухфакторная аутентификация может быть использована и с другими плагинами авторизации (например, внешняя БД, LDAP).
Настройка для отключения двухфакторной аутентификации для администраторов: $CFG->disabledualauth = true;
  • Настройки регистрации
Текущая версия плагина поддерживает два сценария : самостоятельная регистрация и регистрация по предварительным спискам.

Способ доставки сообщений. Определяет, каким способом пользователь получит данные о регистрации: письмом на электронную почту, в виде СМС на номер телефона или по обоим каналам.

Для обеспечения возможности получения СМС на номер телефона, в системе предварительно должен быть включен и корректно настроен плагин OTSMS.
Подробнее в статье Настройка отправки уведомлений пользователю по СМС

Подразделение. Позволяет выбрать из выпадающего списка подразделение Электронного деканата, в которое будут добавлены регистрируемые пользователи.

Если  регистрировать пользователей в ЭД не нужно - выбирается параметр «Не добавлять пользователей в Деканат».

Включить подтверждение учетной записи по электронной почте? (Да/Нет). При включенном подтверждении (=Да), в завершении процедуры регистрации на почту пользователя будет отправлено письмо с ссылкой, по которой необходимо перейти для подтверждения регистрации.

  • Ограничение попыток поиска во внешнем источнике при регистрации по предварительным спискам

Включить ограничение попыток поиска во внешнем источнике. Установка/снятие маркера в чекбоксе позволяет включить/отключить настройку ограничения количества попыток.

Время до восстановления попыток. Определяет период времени между сеансами обращения ко внешнему источнику при превышении количества попыток сеанса.

Количество разрешенных попыток ввода. Определяет количество попыток поиска во внешнем источнике в рамках одного сеанса.

  • Дополнительные настройки по полям регистрации

Включить reCAPTCHA (Да/Нет). Позволяет дополнительно защитить сайт от нежелательной автоматической регистрации путем добавления формы reCAPTCHA от Google.

Добавить поле для повтора пароля? (Да/Нет). Устанавливает вид поля пароля. Если выбрано «Нет», в форме только одно поле пароля (без повтора), с возможностью просмотреть введенный пароль. Если выбрано «Да», то форма будет содержать дополнительное поле для повтора пароля, возможности просмотреть пароль не предусмотрено.

  • Блокировка полей пользователя

Раздел содержит перечень полей профиля пользователя и дает возможность определить доступность каждого указанного поля для заполнения. Предусмотрены следующие опции:

  • Заблокировано. Поле недоступно для заполнения пользователем.
  • Разблокировано. Поле доступно для заполнения пользователем.
  • Разблокировано, если пусто. Поле доступно для заполнения пользователем только при условии отсутствия записи в этом поле (первичное заполнение).
Данная настройка может быть востребована в системах, где данные пользователей редактируются администратором вручную или загружаются с помощью команды «Загрузить пользователей».
Если Вы блокируете поля, то убедитесь, что предоставляете всю информацию, необходимую для создания учетной записи, иначе в процессе регистрации могут возникнуть проблемы. В этом случае рекомендуем использовать опцию «Разблокировано, если пусто». 

-Вернуться к содержанию-

2.3. Настройки внешних источников данных

На странице «Настройки внешних источников данных» (см. поз. 2 Рис.2.2.1) доступна возможность настроить подключение к SQL-таблице внешней базы данных (Рис. 2.3.1).

Рис. 2.3.1. Страница «Настройки внешних источников данных».

Подключение внешнего источника данных необходимо для реализации и настройки сценария «Регистрация по предварительным спискам».

Само подключение к внешней базе данных должно быть предварительно создано и настроено на странице «Управление подключениями к внешним БД» (меню Настройки->Администрирование->Управление подключениями к внешним БД).

Подробная информация в статье Управление подключениями к внешним БД
Пример настройки внешнего источника

Нажав кнопку «Добавить» пользователь переходит на следующую страницу настроек, где выбирает из выпадающего списка настроенное подключение к внешней базе данных (поз. 1 Рис. 2.3.2) и указывает название таблицы с предварительными списками (поз. 2 Рис. 2.3.2).

Рис. 2.3.2. Настройка подключения к внешнему источнику для сценария «Регистрация по предварительным спискам».

После нажатия «Получить поля» данные из внешнего источника подгружаются в систему, соответствующая информация отображается на странице (Рис. 2.3.3).

Рис. 2.3.3. Подключенная таблица mdl_cli_preliminary_list_synh из внешнего источника w3_divanov.

Внешний источник с предварительными списками подключен.

 -Вернуться к содержанию-

2.4. Настройки полей формы регистрации

Функционал страницы «Настройки полей формы регистрации» (см. поз. 1 Рис. 2.2.1) позволяет настроить внешний вид формы регистрации, определить количество этапов регистрации, указать дополнительные свойства (модификаторы) полей формы.

Страница представляет собой конструктор формы регистрации, содержащий перечень доступных для использования в форме полей профиля пользователя. Порядок следования полей в форме регистрации  будет соответствовать их порядку расположения в перечне.

Состав доступных на странице модификаторов и элементов выбора  определяется системой в зависимости от выбранного сценария регистрации (подключена внешняя база данных или нет).

2.4.1. Настройки полей формы для самостоятельной регистрации

Страница настроек для сценария самостоятельной регистрации (Рис. 2.4.1.а) содержит следующие элементы:

Рис. 2.4.1.а. Страница «Настройки полей формы регистрации» для сценария самостоятельной регистрации.

Название поля профиля в СЭО 3КL (см. поз. 1 Рис. 2.4.1.а).

Иконка перемещения (см. поз. 2 Рис. 2.4.1.а). Наведя курсор на иконку и удерживая нажатой левую кнопку мыши, пользователь может переместить выбранное поле на новое место в списке, выстраивая таким образом, необходимый порядок полей на форме регистрации.

Селектор выбора этапа регистрации (см. поз. 3 Рис. 2.4.1.а). Доступны следующие варианты:

  • Для первого этапа регистрации (поле будет отображаться на форме первого этапа регистрации).
  • Для второго этапа регистрации (поле будет отображаться на форме второго этапа регистрации).
  • Не показывать поле (на форме регистрации поле отображаться не будет).

Список модификаторов, допустимых для поля (см. поз. 4 Рис. 2.4.1.а).
В процессе настройки формы пользователь может назначить дополнительные свойства (установить маркер в соответствующем чекбоксе), определяющие правила заполнения поля при регистрации. Для сценария самостоятельной регистрации доступны следующие модификаторы:

  • Обязательное поле.
  • Генерируемое поле.
  • Скрытое поле.
  • Поле для проверки уникальности.
Подробнее о модификаторах полей в п. 3.1. Описание модификаторов полей
Если, согласно алгоритму валидации, поле обязательно должно содержать какой-то модификатор — он проставляется системой автоматически и не может быть изменен пользователем вручную.
Пример настройки формы

Задача:
Форма для самостоятельной регистрации должна содержать поля в указанном порядке: Фамилия, Имя, Отчество, Электронная почта, Мобильный телефон, Город. Все поля должны быть заполнены пользователем в обязательном порядке. Логин и пароль должны генерироваться автоматически. Логин генерируется на основе электронной почты регистрируемого пользователя.

Подробная информация об алгоритмах генерации в п. 3.2. Особенности формирования значений для генерируемых полей

Решение:
На странице «Настройки полей формы регистрации» плагина «Аутентификация СЭО 3КL» перемещаем поля формы в следующем порядке: Фамилия, Имя, Отчество или второе имя, Адрес электронной почты, Логин, Пароль, Мобильный телефон, Город.
Устанавливаем для них селектор выбора этапа регистрации «Для первого этапа регистрации» и модификатор «Обязательное поле».
Для полей Логин и Пароль — еще и модификатор «Генерируемое поле».
Дополнительно убеждаемся, что для Логина и Пароля автоматически установился модификатор «Скрытое поле».
Порядок остальных полей с выбранным селектором «Не показывать поле» не важен.
Сохраняем настройки формы (Рис. 2.4.1.б).

Рис. 2.4.1.б. Настройка полей формы регистрации.

Теперь, при самостоятельном создании учетной записи в системе, форма регистрации будет иметь требуемый в задании вид (Рис. 2.4.1.в).

Рис. 2.4.1.в. Настроенная форма регистрации.

-Вернуться к содержанию-

2.4.2. Настройки полей формы для регистрации по предварительным спискам

Сценарий «Регистрация по предварительным спискам» подразумевает наличие корректно подключенной к системе внешней БД, содержащей необходимую информацию.

После подключения внешнего источника данных (см. п. 2.3. Настройки внешних источников данных), на странице «Настройки полей формы регистрации», для каждого поля появляется дополнительный селектор «Сопоставление с внешними источниками» (поз. 1 Рис. 2.4.2.а).

Рис. 2.4.2.а. Страница «Настройки полей формы регистрации» для сценария регистрация по предварительным спискам.

Выпадающее меню селектора содержит список заголовков таблицы внешнего источника (Рис. 2.4.2.б) и позволяет определить соответствие (сопоставить) поля системы полю из внешней БД.

Рис. 2.4.2.б. Выпадающее меню селектора «Сопоставление с внешними источниками».

Если установлено «Поле соответствия не выбрано» — сопоставление для данного поля не производится.

Наличие подключенного внешнего источника данных добавляет к ранее описанному в п. 2.4.1 списку модификаторов дополнительные:

  • Поисковое поле.
  • Транслируемое поле.
Подробнее о модификаторах полей в 3.1. Описание модификаторов полей
Пример настройки формы

Задача:
Внутренняя БД предприятия содержит ФИО сотрудников, их индивидуальные номера и код отдела.
При регистрации сотрудников в системе профессиональной аттестации необходимо обеспечить:

  • проверку того, что регистрируемый пользователь является сотрудником;
  • обязательное заполнение всех требуемых для системы полей (логин, пароль, электронная почта, мобильный телефон, должность);
  • уникальность электронной почты пользователя.

Решение:
Настраиваем подключение к таблице mdl_cli_preliminary_list_synh внешней БД с данными сотрудников (w3_divanov) (см. Рис. 2.3.2).

Процедуру регистрации разбиваем на два этапа.

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

Для первого этапа (первой регистрационной формы):

  • определяем порядок следования полей Индивидуальный номер, Фамилия, Имя, Отчество или второе имя (селектор выбора этапа регистрации = «Для первого этапа регистрации»);
  • устанавливаем им модификаторы «Обязательное поле» и «Поисковое поле»;
  • сопоставляем с полями таблицы id, lastname, firstname, middlename соответственно.

Для второго этапа (второй регистрационной формы):

  • определяем порядок следования полей Адрес электронной почты, Логин, Пароль, Мобильный телефон, Должность, Отдел (селектор выбора этапа регистрации = «Для второго этапа регистрации»);
  • устанавливаем для этих полей модификатор «Обязательное поле»;
  • для поля Отдел устанавливаем модификатор «Транслируемое поле»;
  • для поля Электронная почта устанавливаем модификатор «Поле для проверки уникальности»;
  • для всех остальных полей устанавливаем селектор выбора этапа регистрации «Не показывать поле» (порядок следования не важен).

Сохраняем настройки формы (Рис. 2.4.2.в).

Рис. 2.4.2.в. Настройка полей формы регистрации.

В процессе регистрации пользователь заполняет поля первой формы (Рис. 2.4.2.г).

Рис. 2.4.2.г. Форма первого этапа регистрации.

Система проверяет введенные данные на соответствие с данными БД и, в случае их совпадения (=пользователь является сотрудником), открывает форму второго этапа регистрации (Рис. 2.4.2.д).

Рис. 2.4.2.д. Форма второго этапа регистрации.

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

Если на первом этапе регистрации будут введены неверные данные (не соответствующие информации в БД), система сформирует сообщение о том, что записей во внешнем источнике не найдено и не допустит пользователя к прохождению второго этапа. При превышении заданного количества неправильных попыток доступ к регистрационной форме первого этапа будет заблокирован на установленное время (см. п. 2.2. Общие настройки).

-Вернуться к содержанию-

3. Дополнительная информация 

3.1. Описание модификаторов полей

Перечень поддерживаемых в текущей версии модификаторов полей: 

Название модификатора Описание Сценарий применения Примечание
Обязательное поле Делает поле обязательным для заполнения. Самостоятельная регистрация, Регистрация по предварительным спискам  
Генерируемое поле Указывает на то, что значение поля должно быть сгенерировано системой автоматически.
Доступен только для полей, для которых предусмотрена возможность генерации (логин, пароль, электронная почта).
Самостоятельная регистрация, Регистрация по предварительным спискам  
Скрытое поле Поле не будет отображено на форме регистрации. Самостоятельная регистрация, Регистрация по предварительным спискам  
Поле для проверки уникальности Регистрация будет возможна только в случае, если в списке уже зарегистрированных пользователей нет ни одного пользователя с таким же значением этого поля. Если модификатор установлен сразу для нескольких полей - на уникальность проверяется совокупность всех отмеченных полей (логическое «И») Самостоятельная регистрация, Регистрация по предварительным спискам Не может быть генерируемым.
Поисковое поле По этому полю будет происходить поиск записи во внешнем источнике и регистрация будет возможна, если в источнике будет найдено только одно совпадение значения поля. Регистрация по предварительным спискам. Не может быть генерируемым, скрытым.
Может применяться только для 1 этапа регистрации.
Транслируемое поле В случае успешной регистрации значение поля внешнего источника будет скопировано в соответствующее поле системы. Регистрация по предварительным спискам. Не может быть генерируемым.
Может применяться только для 2 этапа регистрации.
Для работы транслируемых полей необходимо наличие хотя бы одного поискового поля на 1 этапе регистрации.
Некоторые модификаторы (одновременный их выбор) и селекторы не могут быть совмещены друг с другом. Так, например, поле не может быть одновременно поисковым и скрытым. Встроенный механизм валидации выбранных настроек позволяет избежать логических ошибок при построении формы регистрации и, при неправильно проставленных маркерах или выбранных одновременно с ними селекторами, формирует пользователю сообщение о некорректном выборе.
Если какие-то поля были отмечены как обязательные, но не были отображены в форме регистрации, при первом входе в систему пользователю будет предложено перейти в профиль и дозаполнить необходимые поля.

-Вернуться к содержанию-

3.2. Особенности формирования значений для генерируемых полей

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

Логин.
Может быть сгенерирован на основе электронной почты, телефона или в виде «username+числовой идентификатор, обеспечивающий уникальность».
Выбор варианта генерации зависит от взаимного расположения полей в перечне: генерируемое поле логин поле должно располагаться сразу под полем (электронная почта или телефон), на основании которого производится генерация. Если над логином другое поле, а сам логин отмечен генерируемым — логин генерируется по третьему сценарию.

Электронная почта.
Адрес генерируется из логина (если логин на этом этапе отсутствует, применяется «username+числовой идентификатор, обеспечивающий уникальность») + @+ хост из настройки $CFG->wwwroot.

Пароль.
Генерируется в соответствии с настройками системы (Администрирование->Безопасность->Параметры безопасности сайта).

 

-Вернуться к содержанию-

 

Tags: авторизация, аутентификация, регистрация
Average rating: 0 (0 Votes)

You cannot comment on this entry