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

Гусев Сергей
2024-03-28 13:40
Плагин с таким названием и обновленным функционалом доступен в СЭО 3КL начиная с версии 3.9.7b.
Если вы используете более раннюю версию системы — обратитесь с заявкой на проведение обновления в службу технической поддержки ООО «Открытые технологии».
 Описание устаревшей версии плагина — в статье Плагин аутентификации «Синхронизация с Free Deans Office».
Содержание:
1. Общая информация
  1.1. Возможности плагина
    1.1.1. Самостоятельная регистрация пользователей с использованием кастомной формы
    1.1.2. Сценарий «Регистрация по предварительным спискам»
    1.1.3. Упрощенная процедура регистрации с мгновенной авторизацией (сценарий «Сквозная регистрация»)
2. Настройки плагина «Аутентификация СЭО 3КL»
  2.1. Необходимые права
  2.2. Включение плагина
  2.3. Общие настройки
  2.4. Настройки внешних источников данных
  2.5. Настройки полей формы регистрации
    2.5.1. Настройки полей формы для самостоятельной регистрации
    2.5.2. Настройки полей формы для регистрации по предварительным спискам
3. Дополнительная информация
  3.1. Описание модификаторов полей
  3.2. Особенности формирования значений для генерируемых полей
  3.3. Валидация подключения к внешней БД
  3.4. Рассылка уведомлений в процессе регистрации
4. Примеры и решения
  4.1. Настройка формы для самостоятельной регистрации
  4.2. Настройка сценария «Регистрация по предварительным спискам»
  4.3. Примеры валидации внешнего источника
    4.3.1. Переподключение к другой (существующей в источнике) таблице внешней БД
    4.3.2. Подключение к несуществующей во внешней БД таблице

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

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

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

1.1. Возможности плагина

Применение плагина в системе реализует следующие возможности.

1.1.1. Самостоятельная регистрация пользователей с использованием кастомной формы

Плагин позволяет сформировать удобную регистрационную форму (Рис. 1.1.1.а) и настроить процесс самостоятельной регистрации.

Рис. 1.1.1.а. Пример настроенной формы для самостоятельной регистрации пользователей.

1) Новый пользователь нажимает ссылку «Создать учетную запись» в модальном окне авторизации (Рис. 1.1.1.б).

Рис. 1.1.1.б. Модальное окно входа в систему.

2) В открывшейся регистрационной форме заполняет поля и нажимает кнопку «Зарегистрироваться» (Рис. 1.1.1.в).

Рис. 1.1.1.в. Пример заполнения формы. Все поля, кроме поля «Ученая степень», обязательны для заполнения.

Возможности плагина позволяют в процессе регистрации автоматически сгенерировать некоторые поля (Рис. 1.1.1.г).

Рис. 1.1.1.г. Пример настройки полей формы. Значения полей «Логин» и «Пароль» в процессе регистрации нового пользователя будут сгенерированы автоматически.
Подробнее о возможностях и особенностях автоматической генерации полей в п. 3.2. «Особенности формирования значений для генерируемых полей»

3) По завершении регистрации система сформирует сообщение о создании новой учетной записи, которое пользователь, в зависимости от настроек, получит на электронную почту или через СМС (Рис. 1.1.1.д).

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

Здесь логин пользователя был сформирован из его электронной почты, а пароль сгенерирован в соответствии с настройками системы.

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

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

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

Сценарий позволяет организовать самостоятельную регистрацию в СЭО 3КL только тех пользователей, данные о которых есть во внешнем источнике.

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

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

2) Если при заполнении первой формы были допущены ошибки или введены данные пользователя, которого нет во внешнем списке, система сформирует сообщение об этом и предложит повторить ввод (Рис. 1.1.2.б).

Рис. 1.1.2.б. Некорректно заполненная форма: при вводе номера пропуска пользователем была допущена ошибка.
При превышении количества разрешенных попыток ввода данных (обращений к внешней БД) возможность регистрации будет приостановлена на указанное в настройках время.

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

3) Если введенные в форму данные соответствуют данным из внешнего источника и отсутствуют в системе, пользователь переходит ко второму этапу регистрации, где заполняет остальные поля, необходимые для регистрации в СЭО 3КL (Рис. 1.1.2.в).

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

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

Рис. 1.1.2.г. Пример сообщения о создании новой учетной записи. Логин пользователя был сгенерирован автоматически, на основании электронной почты пользователя.

Рис. 1.1.2.д. Пример сообщения о подтверждении учетной записи.

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

1.1.3. Упрощенная процедура регистрации с мгновенной авторизацией (сценарий «Сквозная регистрация»)

Сценарий позволяет незарегистрированным пользователям быстро подписаться на интересующий их курс и выполнить регистрацию, авторизацию и вход в курс в рамках единой последовательности действий (Рис. 1.1.3.а).

Рис. 1.1.3.а. Пример реализации сценария «Сквозная регистрация» для курса «Тенденции развития архитектуры».

1) Неавторизованный пользователь выбирает на витрине курсов интересующий его курс. На странице описания курса он может ознакомиться с условиями подписки и, нажав на кнопку «Записаться на курс», запустить сценарий.

2) Открывается форма с информационным сообщением о необходимости авторизации (Рис. 1.1.3.б).

Рис. 1.1.3.б. Форма авторизации.

3) Нажав на кнопку «Создать учетную запись» пользователь заполняет вновь открывшуюся форму и регистрируется в системе (Рис. 1.1.3.в).

Рис. 1.1.3.в. Форма регистрации нового пользователя.

Системой будут сформированы и отправлены пользователю сообщения о создании и подтверждении учетной записи (см. Рис. 1.1.2.г и Рис. 1.1.2.д).

3) Сразу же после этого, не открывая ссылку на подтверждение и не заполняя логин/пароль, пользователь будет автоматически возвращен на страницу описания выбранного курса уже авторизованным, где, в зависимости от условий подписки, сможет войти в курс или завершить подписку (Рис. 1.1.3.г).

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

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

Для реализации этого сценария, кроме плагина «Аутентификация СЭО 3КL», в системе должны быть корректно настроены «Платная подписка 3KL», «Витрина курсов», установлена тема оформления «СЭО 3КL» и у пользователя включен JavaScript.
Подробнее о сценарии «Сквозная регистрация» в статье «Настройка платной подписки на курс. Плагин «Платная подписка 3KL»

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

Мгновенная авторизация после регистрации (Да/Нет). Если выбрано «Да», то по окончании регистрации, независимо от дополнительных настроек и получения писем-уведомлений, пользователь будет автоматически авторизован в системе. Во время первой сессии (до момента выхода пользователя из системы), возможность изменить свой пароль будет заблокирована. Для последующего входа  в СЭО 3КL уже будут необходимы логин и пароль, придуманные (или сформированные системой) при регистрации.

Если, при применении опции «Мгновенная авторизация после регистрации», во время первого входа пользователь вдруг понял, что при регистрации им была указана неправильная или недействующая почта, существует возможность изменить ее. При изменении адреса электронной почты пользователю будет отправлено письмо-уведомление с ссылкой на подтверждение изменения.
  • Ограничение попыток поиска во внешнем источнике при регистрации по предварительным спискам

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сценарий позволяет наладить самостоятельную регистрацию только для тех пользователей, данные по которым есть в подключенной внешней информационной системе. Для посторонних пользователей регистрация в СЭО 3КL будет недоступна.
Кроме фильтрации пользователей, сценарий позволяет сопоставить поля внешнего источника  полям СЭО 3КL и автоматически подгрузить данные из них в систему в момент регистрации. Это позволит:

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

Описание сценария:
Процедура регистрации разбивается на два этапа, с отдельными формами для каждого этапа.
На первом этапе пользователь должен заполнить поля, которые позволяют однозначно идентифицировать его по данным из внешнего источника.
Если введенные данные совпадают, то проверка считается пройденой и пользователь переходит ко второму этапу регистрации.
Если введенные на первом этапе данные не совпадают с данными внешнего источника, выводится соответствующее сообщение и регистрация прерывается.
Вторая регистрационная форма содержит поля, необходимые для аутентификации пользователя в СЭО 3КL и его  последующей полноценной работы в системе.
После успешного заполнения формы второго этапа пользователь регистрируется в системе.

Алгоритм настройки сценария:
1. Подключается и настраивается в системе внешняя БД с информацией по пользователям.
2. На странице «Настройки полей формы регистрации» определяются поля для первого этапа регистрации и для них устанавливаются связи с необходимыми для идентификации пользователей полями внешней БД. Все выбранные поля отмечаются как «Обязательное поле», «Поисковое поле».
3. На странице «Настройки полей формы регистрации» определяются поля для второго этапа регистрации. Если какие-то поля должны быть заполнены из внешней БД - для них устанавливаются соответствующие связи.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.3. Валидация подключения к внешней БД

Если настроен сценарий «Регистрация по предварительным спискам» СЭО 3КL автоматически проверяет:

Если в сценарии самостоятельной регистрации пользователей используется внешняя БД, СЭО 3КL автоматически проверяет:

  • подключение к настроенному в системе внешнему источнику;
  • наличие таблицы, указанной в настройках внешнего источника;
  • существование полей таблицы, указанных в настройках регистрационной формы.

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

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

3.4. Рассылка уведомлений в процессе регистрации

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

  • Регистрационная форма настроена так, что пользователь сам придумывает себе логин и пароль.

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

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

  • указал действующую почту;
  • получил второе письмо;
  • перешел по ссылке в нем (подтвердил создаваемую учетную запись).

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

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

Основные риски, связанные с таким вариантом настройки:

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

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

Использование опции «Подтверждение учетной записи по электронной почте» в этом случае может быть уместно, только если для доставки уведомления о создании учетной записи в системе настроен один канал «OTSMS» — пользователь получает СМС с логином/паролем и не может, таким образом, подтвердить свою электронную почту.
Подробная информация о доступных в системе уведомлениях в статье «Уведомления в СЭО 3КL».

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

4. Примеры и решения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.3. Примеры валидации внешнего источника

4.3.1. Переподключение к другой (существующей в источнике) таблице внешней БД

Условие:
В системе реализован сценарий регистрации по предварительным спискам: настроено подключение к таблице mdl_cli_preliminary_list_synh внешней БД w3_divanov, поля формы регистрации привязаны к необходимым полям внешнего источника.

Действие:
Администратор на странице «Настройки внешних источников» пытается переподключиться к таблице custom_grades, которая существует во внешней БД.

Результат:
1) При попытке сохранить данные на странице будет отображено сообщение об изменении настроек внешнего источника и необходимости проверки (корректировки) связей в форме регистрации (Рис. 4.3.1.а).

Рис. 4.3.1.а. Сообщение об изменении таблицы внешнего источника.

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

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

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

4.3.2. Подключение к несуществующей во внешней БД таблице

Условие:
В системе реализован сценарий регистрации по предварительным спискам: настроено подключение к таблице mdl_cli_preliminary_list_synh внешней БД w3_divanov, поля формы регистрации привязаны к необходимым полям внешнего источника.

Действие:
Администратор на странице «Настройки внешних источников» пытается переподключиться к несуществующей в источнике таблице cmdl_cli.

Результат:
При попытке сохранить данные на странице будет отображено сообщение , что такая таблица не найдена во внешнем источнике (Рис. 4.3.2.а).

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

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

Теги: авторизация, аутентификация, регистрация
Рейтинг ответа: 5 (1 оценка)

Комментарии запрещены