Заметки из Зазеркалья

22.07.2020

Новая процедура восстановления паролей пользователей информационных баз 1С

Изменение паролей пользователей информационных баз 1С ранее представляло некоторую сложность. Администратору приходилось вручную менять пароль пользователя, забывшего свои учётные данные. При переходе на удалённую работу мы проводили опрос на «Зазеркалье» и на партнёрском форуме, в котором пользователи и партнёры высказали пожелания, что нужно сделать процесс изменения паролей более удобным. В результате мы добавили новую процедуру восстановления пароля пользователей файловых и серверных информационных баз.

Изменения формы аутентификации

Теперь на формы аутентификации тонкого, толстого и веб-клиентов можно добавить кнопки «Забыли пароль?» и «Нужна помощь», настроив отображение в параметрах информационной базы. Обновлённая форма выглядит так:

img-01.png

Как проходит процедура восстановления пароля

При нажатии на кнопку «Забыли пароль» выполняется одно из трёх действий:

  • Переход по ссылке;

  • Отправка e-mail с кодом восстановления пароля из стандартного сервиса 1С;

  • Отправка e-mail с кодом восстановления пароля с любого SMTP-сервера, адрес которого настраивает администратор.

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

Вариант с использованием стандартного сервиса 1С даст возможность запустить механизм восстановления паролей с минимальными усилиями. В этом случае пользователю отображается форма для ввода e-mail.

img-02.png

Если указанный адрес обнаружен, то при нажатии на кнопку «Получить код» пользователю отображается новая форма для смены пароля:

img-03-02.png

После ввода корректного кода пользователь сможет установить новый пароль.

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

Вариант отправки e-mail с кодом восстановления по указанным параметрам SMTP аналогичен использованию стандартного сервиса 1С. Только письмо идёт не с почтового сервиса 1С, а с SMTP-сервера, который настроил администратор (в том числе, и корпоративного). Такой вариант, в том числе, позволяет настроить индивидуальный текст и оформление письма.

Если вами используется OpenID-аутентификация, то при любом варианте изменение пароля будет выполняться на провайдере, т.к. именно в нём проходит аутентификация. После изменения пароля происходит переход на форму аутентификации в провайдере.

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

Как изменить настройки аутентификации

Менять настройки аутентификации можно из конфигуратора и из встроенного языка.

В конфигураторе в меню «Администрирование» добавлен новый пункт «Дополнительные настройки аутентификации»:

img-04.png

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

img-05.png


Во встроенном языке в глобальный контекст добавлен новый объект ДополнительныеНастройкиАутентификации (AdditionalAuthenticationSettings). Пример изменения настроек аутентификации приведен ниже:

НастройкиВосстановленияПароля = Новый НастройкиВосстановленияПаролей();
НастройкиВосстановленияПароля.СпособВосстановленияПароля = 
СпособВосстановленияПароляПользователяИнформационнойБазы.ПереходПоНавигационнойСсылке;
НастройкиВосстановленияПароля.ПользовательSMTP = "admin@1c.ru";
НастройкиВосстановленияПароля.ПарольSMTP = "123";
НастройкиВосстановленияПароля.ПортSMTP = 465;
НастройкиВосстановленияПароля.ИспользоватьSSL = Истина;
НастройкиВосстановленияПароля.ИмяОтправителя = "Администратор";
НастройкиВосстановленияПароля.Заголовок = "Восстановление пароля";
НастройкиВосстановленияПароля.ТекстСообщенияHTML =  "<html><head></head><body>Введите код  
| &amp;VerificationCode для сброса пароля.<br><div><br></div></body></html>";
ДополнительныеНастройкиАутентификации.УстановитьНастройкиВосстановленияПароля( НастройкиВосстановленияПароля);

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

img-06-02.png

Кроме того, во встроенном языке для изменения настроек пользователя в тип данных ПользовательИнформационнойБазы добавлены новые свойства: АдресЭлектроннойПочты, ЗапрещеноВосстанавливатьПароль, которые позволяют настраивать соответствующие параметры.

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


Рассказать друзьям: