НастройкиВосстановленияПароля.СпособВосстановленияПароля

Свойства · PasswordRecoveryMethod

Тип: СпособВосстановленияПароляПользователяИнформационнойБазы. Предназначено для выбора способа восстановления пароля.

Полное описание, параметры и ограничения

НастройкиВосстановленияПароля.СпособВосстановленияПароля (PasswordRecoverySettings.PasswordRecoveryMethod)

НастройкиВосстановленияПароля (PasswordRecoverySettings)

СпособВосстановленияПароля (PasswordRecoveryMethod)

Доступен, начиная с версии 8.3.15.

Использование:
Чтение и запись.
Описание:
Тип: СпособВосстановленияПароляПользователяИнформационнойБазы.
Предназначено для выбора способа восстановления пароля.
Доступность:

Сервер, толстый клиент.

Использование в версии:

Доступен, начиная с версии 8.3.15.

Методическая информация

Практические примеры

Подготовить ограничения кода с явной проверкой диапазонов

Четыре параметра имеют разные границы. До присваивания проверяем целые числа и выводим срок в минутах, не путая ожидание повторной отправки с периодом действительности кода.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт и вызовите своей учебной командой.

  2. Во всех задачах Новый НастройкиВосстановленияПароля создаёт собственный объект в памяти. Код не устанавливает дополнительные параметры информационной базы и не запускает восстановление пароля.

  3. Не подставляйте реальные SMTP-пароли, OAuth-токены, адреса сотрудников и рабочие ссылки. example.invalid — учебный адрес, не настроенный почтовый сервер.

  4. Каждый пример выполняйте отдельно. Вывод и свойства проверяются в сообщениях/отладчике; доставки письма, изменения пароля и открытия сайта не будет.

Проект = Новый НастройкиВосстановленияПароля;
Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет;
ДлинаКода = 10;
СрокСекунд = 900;
ОжиданиеСекунд = 60;
ЧислоПопыток = 5;
Если ДлинаКода <> Цел(ДлинаКода) Или ДлинаКода < 8 Или ДлинаКода > 50 Тогда
    ВызватьИсключение "Длина кода: целое число от 8 до 50";
КонецЕсли;
Если СрокСекунд <> Цел(СрокСекунд) Или СрокСекунд < 1 Или СрокСекунд > 4294967295 Тогда
    ВызватьИсключение "Срок действия: целое число секунд от 1 до 4294967295";
КонецЕсли;
Если ОжиданиеСекунд <> Цел(ОжиданиеСекунд) Или ОжиданиеСекунд < 1 Или ОжиданиеСекунд > 999999999 Тогда
    ВызватьИсключение "Блокировка повторного запроса: целое число секунд от 1 до 999999999";
КонецЕсли;
Если ЧислоПопыток <> Цел(ЧислоПопыток) Или ЧислоПопыток < 1 Или ЧислоПопыток > 999 Тогда
    ВызватьИсключение "Число неуспешных попыток: целое число от 1 до 999";
КонецЕсли;
Проект.ДлинаКодаПодтверждения = ДлинаКода;
Проект.СрокДействияКодаПодтверждения = СрокСекунд;
Проект.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения = ОжиданиеСекунд;
Проект.МаксимальноеКоличествоНеуспешныхПопытокПроверкиКодаПодтверждения = ЧислоПопыток;
Сообщить(Проект.ДлинаКодаПодтверждения = 10);
Сообщить(Проект.СрокДействияКодаПодтверждения / 60 = 15);
Сообщить(Проект.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения = 60);
Сообщить(Проект.МаксимальноеКоличествоНеуспешныхПопытокПроверкиКодаПодтверждения = 5);

Разбор по шагам

  1. Все входные значения в этой задаче собственные числа. Для ввода из формы дополнительно проверьте тип до вызова Цел.

  2. Отдельно проверяем дробность и границы каждого значения; отрицательные, нулевые и выходящие за границы значения не присваиваются.

  3. 900 секунд — 15 минут действия кода; 60 секунд — ожидание следующего запроса. Это две разные шкалы.

  4. Длина 10, срок 900, ожидание 60 и попытки 5 выбраны для упражнения, не для автоматического применения в рабочей системе.

Как проверить результат

  1. Четыре сравнения Истина.

  2. Замените только ДлинаКода на 7 либо 10.5 и перезапустите: ожидается собственное понятное исключение до присваивания.

  3. Повторите с ЧислоПопыток=0: причина должна относиться именно к числу попыток.

Ожидаемый результат

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

На что обратить внимание

  1. Не сокращайте ограничения без анализа безопасности и требований конкретной системы.

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

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Исследовать документированные значения проекта восстановления пароля

Проверяем семь указанных в помощнике значений по умолчанию. Способ Нет задаём сами: его исходное значение справка конструктора не обещает.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт и вызовите своей учебной командой.

  2. Во всех задачах Новый НастройкиВосстановленияПароля создаёт собственный объект в памяти. Код не устанавливает дополнительные параметры информационной базы и не запускает восстановление пароля.

  3. Не подставляйте реальные SMTP-пароли, OAuth-токены, адреса сотрудников и рабочие ссылки. example.invalid — учебный адрес, не настроенный почтовый сервер.

  4. Каждый пример выполняйте отдельно. Вывод и свойства проверяются в сообщениях/отладчике; доставки письма, изменения пароля и открытия сайта не будет.

Проект = Новый НастройкиВосстановленияПароля;
Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет;
Сообщить(Проект.ДлинаКодаПодтверждения = 8);
Сообщить(Проект.СрокДействияКодаПодтверждения = 600);
Сообщить(Проект.ДлительностьБлокировкиЗапросаОбновленияКодаПодтверждения = 30);
Сообщить(Проект.МаксимальноеКоличествоНеуспешныхПопытокПроверкиКодаПодтверждения = 3);
Сообщить(Проект.ПортSMTP = 0);
Сообщить(Проект.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Авто);
Сообщить(Не Проект.ТолькоЗащищеннаяАутентификацияSMTP);
Сообщить(Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет);

Разбор по шагам

  1. Конструктор создаёт новый объект, не читает фактическую настройку рабочей базы.

  2. Длина кода — 8 символов; срок 600 секунд — 10 минут; ожидание повторного запроса 30 секунд; допустимых неуспешных попыток 3.

  3. Порт 0 — условное значение выбора порта по ИспользоватьSSL, а не сетевой порт 0.

  4. Авто относится к выбору токенной аутентификации. Последнее сравнение проверяет наше явное присваивание Нет, не значение конструктора.

Как проверить результат

  1. Восемь сообщений Истина; первые семь относятся к документированным исходным значениям, восьмое к нашему отключению способа.

  2. Не считайте эти числа рекомендацией политики безопасности для вашей организации.

Ожидаемый результат

Проверены исходные параметры нового проекта без чтения секретов и действующей настройки базы.

На что обратить внимание

  1. Новый объект и настройки информационной базы — разные вещи.

  2. Авто не означает, что токен выдан, авторизация прошла или письмо доставлено.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.