Плагин «Аутентификация СЭО 3КL»
Если вы используете более раннюю версию системы — обратитесь с заявкой на проведение обновления в службу технической поддержки ООО «Открытые технологии».
Если вы используете более раннюю версию системы — обратитесь с заявкой на проведение обновления в службу технической поддержки ООО «Открытые технологии».
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. Настройки полей формы для регистрации по предварительным спискам
2.6. Настройки отображения политик на форме регистрации
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.б).
2) В открывшейся регистрационной форме заполняет поля и нажимает кнопку «Зарегистрироваться» (Рис. 1.1.1.в).
Возможности плагина позволяют в процессе регистрации автоматически сгенерировать некоторые поля (Рис. 1.1.1.г).
3) По завершении регистрации система сформирует сообщение о создании новой учетной записи, которое пользователь, в зависимости от настроек, получит на электронную почту или через СМС (Рис. 1.1.1.д).
Здесь логин пользователя был сформирован из его электронной почты, а пароль сгенерирован в соответствии с настройками системы.
1.1.2. Сценарий «Регистрация по предварительным спискам»
Сценарий позволяет организовать самостоятельную регистрацию в СЭО 3КL только тех пользователей, данные о которых есть во внешнем источнике.
1) Новый пользователь на первом этапе регистрации заполняет форму с минимальным набором полей, который позволяет однозначно идентифицировать его по данным из внешнего списка (Рис. 1.1.2.а).
2) Если при заполнении первой формы были допущены ошибки или введены данные пользователя, которого нет во внешнем списке, система сформирует сообщение об этом и предложит повторить ввод (Рис. 1.1.2.б).
Если введенные в форму данные соответствуют данным из внешнего источника, но такой пользователь уже есть в СЭО 3КL, система сформирует сообщение: «Пользователь с аналогичными данными уже зарегистрирован в системе, обратитесь к администратору».
Повторная регистрация будет невозможна без вмешательства диспетчера-администратора.
3) Если введенные в форму данные соответствуют данным из внешнего источника и отсутствуют в системе, пользователь переходит ко второму этапу регистрации, где заполняет остальные поля, необходимые для регистрации в СЭО 3КL (Рис. 1.1.2.в).
4) По завершении регистрации система сформирует соответствующие сообщения о создании новой учетной записи (Рис. 1.1.2.г) и необходимости подтверждения учетной записи (Рис. 1.1.2.д), которые пользователь, в зависимости от настроек, получит на электронную почту или в виде СМС.
1.1.3. Упрощенная процедура регистрации с мгновенной авторизацией (сценарий «Сквозная регистрация»)
Сценарий позволяет незарегистрированным пользователям быстро подписаться на интересующий их курс и выполнить регистрацию, авторизацию и вход в курс в рамках единой последовательности действий (Рис. 1.1.3.а).
1) Неавторизованный пользователь выбирает на витрине курсов интересующий его курс. На странице описания курса он может ознакомиться с условиями подписки и, нажав на кнопку «Записаться на курс», запустить сценарий.
2) Открывается форма с информационным сообщением о необходимости авторизации (Рис. 1.1.3.б).
3) Нажав на кнопку «Создать учетную запись» пользователь заполняет вновь открывшуюся форму и регистрируется в системе (Рис. 1.1.3.в).
Системой будут сформированы и отправлены пользователю сообщения о создании и подтверждении учетной записи (см. Рис. 1.1.2.г и Рис. 1.1.2.д).
3) Сразу же после этого, не открывая ссылку на подтверждение и не заполняя логин/пароль, пользователь будет автоматически возвращен на страницу описания выбранного курса уже авторизованным, где, в зависимости от условий подписки, сможет войти в курс или завершить подписку (Рис. 1.1.3.г).
При этом, подтверждение электронной почты и ввод логина/пароля потребуются только при повторном входе в систему.
2. Настройки плагина «Аутентификация СЭО 3КL»
2.1. Необходимые права
По умолчанию мы предоставляем доступ «Диспетчер-Администратор». Для изменения глобальных конфигураций мы рекомендуем выбрать набор требуемых опций по данной инструкции и обратиться в техническую поддержку с заявкой на конфигурирование системы.
Подробнее — в статье «Полный административный доступ»
2.2. Включение плагина
Включение/отключение функционала плагина доступно на странице «Настройки аутентификации» (меню Настройки->Администрирование->Плагины->Аутентификация->Настройки аутентификации) (поз. 1 Рис. 2.2.1).
Пиктограмма в столбце «Включить» соответствует включенному состоянию плагина, пиктограмма — выключенному. Переключение состояния осуществляется нажатием на текущую пиктограмму.
В поле «Самостоятельная регистрация» раздела «Общие настройки» страницы «Настройки аутентификации» должен быть выбран параметр «Аутентификация СЭО 3КL» (см. поз. 2. Рис. 2.2.1).
2.3. Общие настройки
Общие настройки плагина представлены на одноименной странице, расположенной в меню Настройки->Администрирование->Плагины->Аутентификация->Аутентификация СЭО 3КL->Общие настройки (поз. 3 Рис. 2.3.1).
Настройки на странице сгруппированы в тематические разделы (Рис. 2.3.2).
- Двухфакторная аутентификация
Включить двухфакторную аутентификацию. Установка/снятие маркера в чекбоксе позволяет включить/отключить сценарий двухфакторной аутентификации: после того, как пользователь указал логин и пароль, система генерирует и отправляет ему одноразовый код из 4 цифр (на почту или по СМС, в зависимости от настроек) и авторизация в СЭО 3КL будет произведена только после ввода этого кода.
Срок жизни кода. Определяет промежуток времени с момента генерации кода, в течении которого пользователь может ввести код подтверждения и успешно авторизоваться.
Количество разрешенных попыток ввода проверочного кода. Параметр устанавливает количество возможных попыток ввода проверочного кода.
Используя настройку конфигурации $CFG->disabledualauth = true, администратор системы может временно отключить использование двухфакторной аутентификации, войти под своей учетной записью и исправить ошибки, допущенные при настройке.
- Настройки регистрации
Способ доставки сообщений. Определяет, каким способом пользователь получит данные о регистрации: письмом на электронную почту, в виде СМС на номер телефона или по обоим каналам.
Подробнее в статье «Настройка отправки уведомлений пользователю по СМС»
Подразделение. Позволяет выбрать из выпадающего списка подразделение Электронного деканата, в которое будут добавлены регистрируемые пользователи.
Если регистрировать пользователей в ЭД не нужно - выбирается параметр «Не добавлять пользователей в Деканат».
Включить подтверждение учетной записи по электронной почте? (Да/Нет). При включенном подтверждении (=Да), в завершении процедуры регистрации на почту пользователя будет отправлено письмо с ссылкой, по которой необходимо перейти для подтверждения регистрации.
Мгновенная авторизация после регистрации (Да/Нет). Если выбрано «Да», то по окончании регистрации, независимо от дополнительных настроек и получения писем-уведомлений, пользователь будет автоматически авторизован в системе. Во время первой сессии (до момента выхода пользователя из системы), возможность изменить свой пароль будет заблокирована. Для последующего входа в СЭО 3КL уже будут необходимы логин и пароль, придуманные (или сформированные системой) при регистрации.
- Ограничение попыток поиска во внешнем источнике при регистрации по предварительным спискам
Включить ограничение попыток поиска во внешнем источнике. Установка/снятие маркера в чекбоксе позволяет включить/отключить настройку ограничения количества попыток.
Время до восстановления попыток. Определяет период времени между сеансами обращения ко внешнему источнику при превышении количества попыток сеанса.
Количество разрешенных попыток ввода. Определяет количество попыток поиска во внешнем источнике в рамках одного сеанса.
- Дополнительные настройки по полям регистрации
Включить reCAPTCHA (Да/Нет). Позволяет дополнительно защитить сайт от нежелательной автоматической регистрации путем добавления формы reCAPTCHA от Google.
Добавить поле для повтора пароля? (Да/Нет). Устанавливает вид поля пароля. Если выбрано «Нет», в форме только одно поле пароля (без повтора), с возможностью просмотреть введенный пароль. Если выбрано «Да», то форма будет содержать дополнительное поле для повтора пароля, возможности просмотреть пароль не предусмотрено.
- Блокировка полей пользователя
Раздел содержит перечень полей профиля пользователя и дает возможность определить доступность каждого указанного поля для заполнения. Предусмотрены следующие опции:
- Заблокировано. Поле недоступно для заполнения пользователем.
- Разблокировано. Поле доступно для заполнения пользователем.
- Разблокировано, если пусто. Поле доступно для заполнения пользователем только при условии отсутствия записи в этом поле (первичное заполнение).
2.4. Настройки внешних источников данных
На странице «Настройки внешних источников данных» (см. поз. 2 Рис.2.3.1) доступна возможность настроить подключение к SQL-таблице внешней базы данных (БД) (Рис. 2.4.1).
Подключение внешнего источника данных необходимо для реализации и настройки сценария «Регистрация по предварительным спискам».
Само подключение к внешней базе данных должно быть предварительно создано и настроено на странице «Управление подключениями к внешним БД» (меню Настройки->Администрирование->Управление подключениями к внешним БД).
Нажав кнопку «Добавить» пользователь переходит на следующую страницу настроек, где выбирает из выпадающего списка настроенное подключение к внешней базе данных (поз. 1 Рис. 2.4.2) и указывает название таблицы с предварительными списками (поз. 2 Рис. 2.4.2).
После нажатия «Получить поля» данные из внешнего источника подгружаются в систему, соответствующая информация отображается на странице (Рис. 2.4.3).
Внешний источник с предварительными списками подключен.
2.5. Настройки полей формы регистрации
Функционал страницы «Настройки полей формы регистрации» (см. поз. 1 Рис. 2.3.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.а).
В процессе настройки формы пользователь может назначить дополнительные свойства (установить маркер в соответствующем чекбоксе), определяющие правила заполнения поля при регистрации. Для сценария самостоятельной регистрации доступны следующие модификаторы:
- Обязательное поле.
- Генерируемое поле.
- Скрытое поле.
- Поле для проверки уникальности.
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.1 списку модификаторов дополнительные:
- Поисковое поле.
- Транслируемое поле.
2.6. Настройки отображения политик на форме регистрации
На странице можно настроить, какие политики будут отображаться на форме регистрации (Рис. 2.6.1). Для этого необходимо отметить нужные политики (поз. 1 Рис. 2.6.1).
Дополнительная настройка (см. поз. 2 Рис. 2.6.1) позволяет отменить действие настройки показа политик перед другими политиками. При отмеченной опции политики на форме регистрации будут отображаться в том порядке, в котором они расположены в настройке выше (см. поз. 1 Рис. 2.6.1).
Политики, помещенные на форму регистрации, пользователь может открыть во всплывающем окне, нажав на ссылку с названием политики (Рис. 2.6.2). После этого текст политики откроется пользователю в модальном окне. Это позволяет экономить время ознакомления с политиками и их принятия, что облегчает процесс регистрации пользователя в системе.
3. Дополнительная информация
3.1. Описание модификаторов полей
Перечень поддерживаемых в текущей версии модификаторов полей:
Название модификатора | Описание | Сценарий применения | Примечание |
Обязательное поле | Делает поле обязательным для заполнения. | Самостоятельная регистрация, Регистрация по предварительным спискам | |
Генерируемое поле | Указывает на то, что значение поля должно быть сгенерировано системой автоматически. Доступен только для полей, для которых предусмотрена возможность генерации (логин, пароль, электронная почта). |
Самостоятельная регистрация, Регистрация по предварительным спискам | |
Скрытое поле | Дает возможность не отображать в регистрационной форме поля, которые в процессе регистрации будут заполнены системой автоматически, тем самым оптимизируя внешний вид и позволяя избежать ошибок и недопонимания со стороны пользователей при заполнении формы. | Самостоятельная регистрация, Регистрация по предварительным спискам | Применяется только совместно с модификаторами генерируемое поле или транслируемое поле. |
Поле для проверки уникальности | Регистрация будет возможна только в случае, если в списке уже зарегистрированных пользователей нет ни одного пользователя с таким же значением этого поля. Если модификатор установлен сразу для нескольких полей - на уникальность проверяется совокупность всех отмеченных полей (логическое «И») | Самостоятельная регистрация, Регистрация по предварительным спискам | Не может быть генерируемым. |
Поисковое поле | По этому полю будет происходить поиск записи во внешнем источнике и регистрация будет возможна, если в источнике будет найдено только одно совпадение значения поля. | Регистрация по предварительным спискам. | Не может быть генерируемым, скрытым. Может применяться только для 1 этапа регистрации. |
Транслируемое поле | В случае успешной регистрации значение поля внешнего источника будет скопировано в соответствующее поле системы. | Регистрация по предварительным спискам. | Не может быть генерируемым. Может применяться только для 2 этапа регистрации. Для работы транслируемых полей необходимо наличие хотя бы одного поискового поля на 1 этапе регистрации. |
3.2. Особенности формирования значений для генерируемых полей
Логин.
Может быть сгенерирован на основе электронной почты, телефона или в виде «username+числовой идентификатор, обеспечивающий уникальность».
Выбор варианта генерации зависит от взаимного расположения полей в перечне: генерируемое поле логин поле должно располагаться сразу под полем (электронная почта или телефон), на основании которого производится генерация. Если над логином другое поле, а сам логин отмечен генерируемым — логин генерируется по третьему сценарию.
Электронная почта.
Адрес генерируется из логина (если логин на этом этапе отсутствует, применяется «username+числовой идентификатор, обеспечивающий уникальность») + @+ хост из настройки $CFG->wwwroot.
Пароль.
Генерируется в соответствии с настройками системы (Администрирование->Безопасность->Параметры безопасности сайта).
3.3. Валидация подключения к внешней БД
Если настроен сценарий «Регистрация по предварительным спискам» СЭО 3КL автоматически проверяет:
Если в сценарии самостоятельной регистрации пользователей используется внешняя БД, СЭО 3КL автоматически проверяет:
- подключение к настроенному в системе внешнему источнику;
- наличие таблицы, указанной в настройках внешнего источника;
- существование полей таблицы, указанных в настройках регистрационной формы.
Система отслеживает соответствие внешнего источника (подключения к нему), а так же связи между полями таблицы внешней БД и формы регистрации. В случае потери связи с внешним источником (таблицей источника), пользователь будет проинформирован соответствующим сообщением. Если изменение параметров произошло в процессе редактирования настроек (формы), система не даст пользователю сохранить результат редактирования до тех пор, пока ошибки не будут исправлены.
3.4. Рассылка уведомлений в процессе регистрации
Предлагаемые плагином сценарии регистрации реализуются при помощи настройки формы регистрации и включением дополнительных опций: «Подтверждение учетной записи по электронной почте» и «Мгновенная авторизация после регистрации». Однако, необоснованное включение «лишних» опций, может запутать пользователя и значительно усложнить ему процесс входа в систему. При настройке выбранного сценария регистрации желательно придерживаться следующих рекомендаций и алгоритмов:
- Регистрационная форма настроена так, что пользователь сам придумывает себе логин и пароль.
В этом случае, чтобы обеспечить достаточную защищенность процедуры регистрации, необходимо включить опцию «Подтверждение учетной записи по электронной почте».
По окончании регистрации системой будут сгенерированы два письма: простое информационное письмо о том, что учетная запись была создана и второе письмо с ссылкой, по которой необходимо перейти, чтобы подтвердить регистрацию. Войти в СЭО 3КL пользователь сможет только, если он:
- указал действующую почту;
- получил второе письмо;
- перешел по ссылке в нем (подтвердил создаваемую учетную запись).
Если не включать опцию подтверждения «Подтверждение учетной записи по электронной почте», пользователь получит только простое информационное письмо о том, что учетная запись была создана. Так как пароль/логин он придумал сам, войти в систему он может сразу же, не проверяя почтовый ящик.
Основные риски, связанные с таким вариантом настройки:
- этой уязвимостью могут воспользоваться спамеры, которые будут массово создавать учетные записи и делать рассылки как внутри системы, так и наружу, что может привести к блокировке почты;
- если пользователь поленится при регистрации ввести свою настоящую почту, а потом забудет пароль —самостоятельно восстановить он его не сможет;
- добросовестный пользователь, который ошибся при вводе адреса почтового ящика, может столкнуться с тем, что случайно зарегистрированная им почта окажется действующей, и доступ к его аккаунту получит посторонний человек.
- Регистрационная форма настроена так, что часть учетных данных (пароль/логин/пара логин-пароль) генерируется системой.
В письме-уведомлении о создании новой учетной записи будут содержаться логин и пароль, необходимые для входа в систему. Здесь использовать опцию «Подтверждение учетной записи по электронной почте» уже нет необходимости: сам факт получения письма с логином и паролем служит подтверждением того, что ящик существует, работает и принадлежит именно этому пользователю. Не получив этого письма пользователь не сможет войти в систему.
4. Примеры и решения
4.1. Настройка формы для самостоятельной регистрации
Задача:
Форма для самостоятельной регистрации должна содержать поля в указанном порядке: Фамилия, Имя, Отчество, Электронная почта, Мобильный телефон, Город. Все поля должны быть заполнены пользователем в обязательном порядке. Логин и пароль должны генерироваться автоматически. Логин генерируется на основе электронной почты регистрируемого пользователя.
Решение:
На странице «Настройки полей формы регистрации» плагина «Аутентификация СЭО 3КL» перемещаем поля формы в следующем порядке: Фамилия, Имя, Отчество или второе имя, Адрес электронной почты, Логин, Пароль, Мобильный телефон, Город.
Устанавливаем для них селектор выбора этапа регистрации «Для первого этапа регистрации» и модификатор «Обязательное поле».
Для полей Логин и Пароль — еще и модификатор «Генерируемое поле».
Дополнительно убеждаемся, что для Логина и Пароля автоматически установился модификатор «Скрытое поле».
Порядок остальных полей с выбранным селектором «Не показывать поле» не важен.
Сохраняем настройки формы (Рис. 4.1.1).
Теперь, при самостоятельном создании учетной записи в системе, форма регистрации будет иметь требуемый в задании вид (Рис. 4.1.2).
4.2. Настройка сценария «Регистрация по предварительным спискам»
Задача:
Внутренняя БД предприятия содержит ФИО сотрудников, их индивидуальные номера и код отдела.
При регистрации сотрудников в системе профессиональной аттестации необходимо обеспечить:
- проверку того, что регистрируемый пользователь является сотрудником;
- обязательное заполнение всех требуемых для системы полей (логин, пароль, электронная почта, мобильный телефон, должность);
- уникальность электронной почты пользователя.
Решение:
Настраиваем подключение к таблице mdl_cli_preliminary_list_synh внешней БД с данными сотрудников (w3_divanov) (см. Рис. 2.3.2).
Процедуру регистрации разбиваем на два этапа.
Для первого этапа (первой регистрационной формы):
- определяем порядок следования полей Индивидуальный номер, Фамилия, Имя, Отчество или второе имя (селектор выбора этапа регистрации = «Для первого этапа регистрации»);
- устанавливаем им модификаторы «Обязательное поле» и «Поисковое поле»;
- сопоставляем с полями таблицы id, lastname, firstname, middlename соответственно.
Для второго этапа (второй регистрационной формы):
- определяем порядок следования полей Адрес электронной почты, Логин, Пароль, Мобильный телефон, Должность, Отдел (селектор выбора этапа регистрации = «Для второго этапа регистрации»);
- устанавливаем для этих полей модификатор «Обязательное поле»;
- для поля Отдел устанавливаем модификатор «Транслируемое поле»;
- для поля Электронная почта устанавливаем модификатор «Поле для проверки уникальности»;
- для всех остальных полей устанавливаем селектор выбора этапа регистрации «Не показывать поле» (порядок следования не важен).
Сохраняем настройки формы (Рис. 4.2.1).
В процессе регистрации пользователь заполняет поля первой формы (Рис. 4.2.2).
Система проверяет введенные данные на соответствие с данными БД и, в случае их совпадения (=пользователь является сотрудником), открывает форму второго этапа регистрации (Рис. 4.2.3).
В процессе второго этапа пользователем дозаполняются все необходимые для работы с системой поля и производится проверка уникальности адреса электронной почты. В случае успешной проверки пользователь регистрируется в системе.
4.3. Примеры валидации внешнего источника
4.3.1. Переподключение к другой (существующей в источнике) таблице внешней БД
Условие:
В системе реализован сценарий регистрации по предварительным спискам: настроено подключение к таблице mdl_cli_preliminary_list_synh внешней БД w3_divanov, поля формы регистрации привязаны к необходимым полям внешнего источника.
Действие:
Администратор на странице «Настройки внешних источников» пытается переподключиться к таблице custom_grades, которая существует во внешней БД.
Результат:
1) При попытке сохранить данные на странице будет отображено сообщение об изменении настроек внешнего источника и необходимости проверки (корректировки) связей в форме регистрации (Рис. 4.3.1.а).
2) На странице «Настройки полей формы регистрации» будет отображено предупреждение об ошибках валидации. Поля формы, потерявшие связь с полями внешнего источника, также будут отмечены соответствующими сообщениями (Рис. 4.3.1.б).
4.3.2. Подключение к несуществующей во внешней БД таблице
Условие:
В системе реализован сценарий регистрации по предварительным спискам: настроено подключение к таблице mdl_cli_preliminary_list_synh внешней БД w3_divanov, поля формы регистрации привязаны к необходимым полям внешнего источника.
Действие:
Администратор на странице «Настройки внешних источников» пытается переподключиться к несуществующей в источнике таблице cmdl_cli.
Результат:
При попытке сохранить данные на странице будет отображено сообщение , что такая таблица не найдена во внешнем источнике (Рис. 4.3.2.а).