Получает настройки информационной базы, связанные с блокировками аутентификации пользователей.
Синтаксис
ПолучитьНастройки()Полное описание, параметры и ограничения
МенеджерБлокировкиАутентификацииПользователейИнформационнойБазы.ПолучитьНастройки (InfoBaseUserAuthenticationLockManager.GetSettings)
МенеджерБлокировкиАутентификацииПользователейИнформационнойБазы (InfoBaseUserAuthenticationLockManager)
ПолучитьНастройки (GetSettings)
Доступен, начиная с версии 8.3.16.
Синтаксис:
ПолучитьНастройки()
Возвращаемое значение:
Тип: НастройкиБлокировкиАутентификацииПользователейИнформационнойБазы.
Описание:
Получает настройки информационной базы, связанные с блокировками аутентификации пользователей.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.16.
Методическая информация
Практические примеры
Изменить три учебных параметра и отдельно подтвердить восстановление
Политика базы сохраняется в отдельном снимке до изменения. Обе записи подтверждаются повторным чтением; ошибка восстановления не маскируется успешным сообщением.
Где и как запускать
Полный серверный общий модуль собственной пустой файловой Windows-базы 8.5.1.1343. Политика только своего стенда или блокировка только подготовленного УчебныйПользователь85; здесь в 1С не запускался.
Подготовка
Создайте собственную новую пустую файловую конфигурацию УчебнаяКонфигурацияСинтаксиса на Windows 8.5.1.1343. Не используйте рабочую УТ/КА2/УНФ/БП и не копируйте в стенд список реальных пользователей.
В новом стенде в Общие → Роли создайте собственную роль УчебныйАдминистратор85 с правом Администрирование (Administration) корневой конфигурации, затем назначьте её двум собственным пользователям-администраторам через Администрирование → Пользователи. Сохраните доступ второго для восстановления. Опыт выполняйте под одним из них; не блокируйте администратора и не обходите недостаток прав привилегированным режимом.
Для уроков блокировок создайте только собственного пользователя УчебныйПользователь85 с аутентификацией 1С. Его пароль задаётся оператором в Конфигураторе, не записывается в этот модуль и не показывается в отчёте.
У стенда не должно быть разделения пользователей/аутентификации общими реквизитами. Метод отбирает реальное имя; для каждого результата отдельно проверяются имя, фактический UUID подготовленного пользователя и пустые значения разделителей.
Создайте общий модуль УчебнаяБлокировка: Сервер=Истина, Глобальный=Ложь, Привилегированный=Ложь. Клиентские флаги выключены. Вставьте весь выбранный модуль.
Команда собственной формы вызывает вашу процедуру &НаСервереБезКонтекста, которая выполняет УчебнаяБлокировка.ВыполнитьПример(). Код не запускает клиент, не подбирает пароль и не создаёт неуспешные попытки входа.
На новом стенде список блокировок своего пользователя может быть пустым. Это нормальный отрицательный опыт: код не создаёт фиктивную блокировку и не считает отсутствие блокировкой.
Для положительного опыта только оператор своего отдельного стенда может заранее получить реальную блокировку входа собственного УчебныйПользователь85 неуспешными попытками его входа. Сохраните доступ второго администратора; не повторяйте это в рабочей базе. Здесь такие попытки не выполнялись.
Изменение настроек влияет на всю свою учебную информационную базу, не только на одного пользователя. Во время опыта не допускайте параллельных входов и изменения настроек другим оператором.
Урок смены настроек сохраняет три исходных значения отдельно, меняет их только на 3 попытки, 120 секунд и пустую строку дополнений имени, читает результат заново и затем восстанавливает исходный снимок.
КодыДополненияИмениПользователя — коды альтернативного имени для входа заблокированного пользователя. Это не обычное отображаемое имя, не пароль и не безопасная информация для общего отчёта; их содержимое нигде не выводится.
Разблокировать — процедура без результата Булево. После неё выполняется новый отбор; уже созданные сеансы, пароль и роли не изменяются. Если несколько результатов или разделители непустые, автоматическое снятие запрещено.
Восстановление настроек не является транзакционным откатом. После аварийного закрытия процесса или ошибки восстановления оператор должен проверить только свой стенд вручную; сообщение о восстановлении появляется лишь после повторного чтения.
Здесь в 1С этот код не запускался, настройки/пользователи/блокировки не менялись и попытки входа не выполнялись. Проверены исходники и установленная справка; runtime-проверки остаются отсутствующими.
Процедура ВыполнитьПример() Экспорт
ПроверитьУчебнуюПлатформу();
Настройки = БлокировкаАутентификации.ПолучитьНастройки();
Если ТипЗнч(Настройки) <> Тип("НастройкиБлокировкиАутентификацииПользователейИнформационнойБазы") Тогда
ВызватьИсключение "Ожидались настройки блокировки";
КонецЕсли;
Если Настройки.ДлительностьБлокировки <= 0 Тогда
ВызватьИсключение "Длительность должна быть положительной в секундах";
КонецЕсли;
Исходные = Новый Структура("Длительность,Попытки,Коды", Настройки.ДлительностьБлокировки, Настройки.МаксимальноеКоличествоНеуспешныхПопыток, Настройки.КодыДополненияИмениПользователя);
НужноВосстановить = Ложь;
Попытка
НужноВосстановить = Истина;
Настройки.ДлительностьБлокировки = 120;
Настройки.МаксимальноеКоличествоНеуспешныхПопыток = 3;
Настройки.КодыДополненияИмениПользователя = "";
БлокировкаАутентификации.УстановитьНастройки(Настройки);
Проверка = БлокировкаАутентификации.ПолучитьНастройки();
Если Проверка.ДлительностьБлокировки <> 120
Или Проверка.МаксимальноеКоличествоНеуспешныхПопыток <> 3
Или Проверка.КодыДополненияИмениПользователя <> "" Тогда
ВызватьИсключение "Учебное изменение политики не подтверждено чтением";
КонецЕсли;
Сообщить("Учебная политика подтверждена: 3, 120 секунд, без дополнений имени. Попытки входа не выполнялись.");
Исключение
Сообщить("Основной опыт настройки политики не подтверждён; требуется отдельное восстановление исходных значений.");
КонецПопытки;
Если НужноВосстановить Тогда
Попытка
ДляВосстановления = БлокировкаАутентификации.ПолучитьНастройки();
ДляВосстановления.ДлительностьБлокировки = Исходные.Длительность;
ДляВосстановления.МаксимальноеКоличествоНеуспешныхПопыток = Исходные.Попытки;
ДляВосстановления.КодыДополненияИмениПользователя = Исходные.Коды;
БлокировкаАутентификации.УстановитьНастройки(ДляВосстановления);
Восстановленные = БлокировкаАутентификации.ПолучитьНастройки();
Если Восстановленные.ДлительностьБлокировки <> Исходные.Длительность
Или Восстановленные.МаксимальноеКоличествоНеуспешныхПопыток <> Исходные.Попытки
Или Восстановленные.КодыДополненияИмениПользователя <> Исходные.Коды Тогда
ВызватьИсключение "Исходная политика после восстановления не совпала";
КонецЕсли;
НужноВосстановить = Ложь;
Сообщить("Исходная политика своего стенда восстановлена и проверена. Коды не показаны.");
Исключение
Сообщить("ВОССТАНОВЛЕНИЕ НЕ ПОДТВЕРЖДЕНО. Проверьте настройки только собственного стенда под резервным администратором; исходные значения остались в переменной Исходные.");
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Процедура ПроверитьУчебнуюПлатформу()
Система = Новый СистемнаяИнформация;
Если Система.ТипПлатформы <> ТипПлатформы.Windows_x86
И Система.ТипПлатформы <> ТипПлатформы.Windows_x86_64 Тогда
ВызватьИсключение "Этот пример использует Windows CryptoAPI";
КонецЕсли;
КонецПроцедуры
Разбор по шагам
Проверить свою пустую конфигурацию и точную Windows-платформу, использовать администратора только собственного стенда.
Скопировать исходные секунды, порог и строку кодов в собственную Структура до изменения объекта настроек.
Использовать положительные 120 секунд, порог 3 и пустую строку, без попыток аутентификации.
Отметить необходимость восстановления перед УстановитьНастройки: исключение не доказывает отсутствие частичного изменения.
Получить свежие настройки и проверить все три учебных значения.
Отдельно восстановить все три исходных значения через менеджера, затем прочитать их заново и сравнить.
Если восстановление не подтверждено, явно остановиться для проверки своего стенда; автоматический бесконечный повтор не выполняется.
Как проверить результат
При штатном ходе видны подтверждение учебной политики и отдельное подтверждение исходной.
После окончания все три значения совпали с Исходные, реальные коды не выведены.
При проблеме восстановления видно ВОССТАНОВЛЕНИЕ НЕ ПОДТВЕРЖДЕНО; нет реальных попыток входа или подмены прав.
Ожидаемый результат
Разобран полный обратимый учебный опыт настройки политики только отдельной собственной базы, с честной границей аварийного восстановления.
На что обратить внимание
БлокировкаАутентификации — глобальное свойство менеджера, а не конструктор. Настройки получают через ПолучитьНастройки, блокировки — через ПолучитьБлокировки.
ДлительностьБлокировки измеряется в секундах и должна быть больше нуля. Нельзя объявлять 120 миллисекундами или передавать нулевую длительность для отключения.
В установленном описании количества попыток указано «превышение» значения. Этот урок не проверяет реальные входы и не выдумывает точную границу номера блокирующей попытки.
Коды дополнения имени могут использоваться для альтернативного входа. Не выводите реальные коды и не подменяйте их случайным 123 из справочного примера.
Имя пользователя без UUID и разделителей недостаточно для безопасного снятия. В стенде с разделением аутентификации нужен отдельный разобранный отбор, а не этот пример.
Изменение всей политики базы и снятие одной блокировки — разные действия. Снятие не создаёт сеанс, не меняет пароль и не доказывает правильность прав пользователя.
Неудача восстановления явно показывается. После аварийного завершения клиента восстановление самим BSL не гарантируется.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Прочитать политику блокировки своего стенда, не раскрывая коды входа
Получаем настоящий объект настроек у глобального менеджера. Секунды переводим в минуты только для показа; содержимое альтернативных кодов не выводим.
Где и как запускать
Полный серверный общий модуль собственной пустой файловой Windows-базы 8.5.1.1343. Политика только своего стенда или блокировка только подготовленного УчебныйПользователь85; здесь в 1С не запускался.
Подготовка
Создайте собственную новую пустую файловую конфигурацию УчебнаяКонфигурацияСинтаксиса на Windows 8.5.1.1343. Не используйте рабочую УТ/КА2/УНФ/БП и не копируйте в стенд список реальных пользователей.
В новом стенде в Общие → Роли создайте собственную роль УчебныйАдминистратор85 с правом Администрирование (Administration) корневой конфигурации, затем назначьте её двум собственным пользователям-администраторам через Администрирование → Пользователи. Сохраните доступ второго для восстановления. Опыт выполняйте под одним из них; не блокируйте администратора и не обходите недостаток прав привилегированным режимом.
Для уроков блокировок создайте только собственного пользователя УчебныйПользователь85 с аутентификацией 1С. Его пароль задаётся оператором в Конфигураторе, не записывается в этот модуль и не показывается в отчёте.
У стенда не должно быть разделения пользователей/аутентификации общими реквизитами. Метод отбирает реальное имя; для каждого результата отдельно проверяются имя, фактический UUID подготовленного пользователя и пустые значения разделителей.
Создайте общий модуль УчебнаяБлокировка: Сервер=Истина, Глобальный=Ложь, Привилегированный=Ложь. Клиентские флаги выключены. Вставьте весь выбранный модуль.
Команда собственной формы вызывает вашу процедуру &НаСервереБезКонтекста, которая выполняет УчебнаяБлокировка.ВыполнитьПример(). Код не запускает клиент, не подбирает пароль и не создаёт неуспешные попытки входа.
На новом стенде список блокировок своего пользователя может быть пустым. Это нормальный отрицательный опыт: код не создаёт фиктивную блокировку и не считает отсутствие блокировкой.
Для положительного опыта только оператор своего отдельного стенда может заранее получить реальную блокировку входа собственного УчебныйПользователь85 неуспешными попытками его входа. Сохраните доступ второго администратора; не повторяйте это в рабочей базе. Здесь такие попытки не выполнялись.
Изменение настроек влияет на всю свою учебную информационную базу, не только на одного пользователя. Во время опыта не допускайте параллельных входов и изменения настроек другим оператором.
Урок смены настроек сохраняет три исходных значения отдельно, меняет их только на 3 попытки, 120 секунд и пустую строку дополнений имени, читает результат заново и затем восстанавливает исходный снимок.
КодыДополненияИмениПользователя — коды альтернативного имени для входа заблокированного пользователя. Это не обычное отображаемое имя, не пароль и не безопасная информация для общего отчёта; их содержимое нигде не выводится.
Разблокировать — процедура без результата Булево. После неё выполняется новый отбор; уже созданные сеансы, пароль и роли не изменяются. Если несколько результатов или разделители непустые, автоматическое снятие запрещено.
Восстановление настроек не является транзакционным откатом. После аварийного закрытия процесса или ошибки восстановления оператор должен проверить только свой стенд вручную; сообщение о восстановлении появляется лишь после повторного чтения.
Здесь в 1С этот код не запускался, настройки/пользователи/блокировки не менялись и попытки входа не выполнялись. Проверены исходники и установленная справка; runtime-проверки остаются отсутствующими.
Процедура ВыполнитьПример() Экспорт
ПроверитьУчебнуюПлатформу();
Настройки = БлокировкаАутентификации.ПолучитьНастройки();
Если ТипЗнч(Настройки) <> Тип("НастройкиБлокировкиАутентификацииПользователейИнформационнойБазы") Тогда
ВызватьИсключение "Ожидались настройки блокировки";
КонецЕсли;
Если Настройки.ДлительностьБлокировки <= 0 Тогда
ВызватьИсключение "Длительность должна быть положительной в секундах";
КонецЕсли;
Сообщить("Максимальное количество неуспешных попыток: " + Строка(Настройки.МаксимальноеКоличествоНеуспешныхПопыток));
Сообщить("Длительность в секундах: " + Строка(Настройки.ДлительностьБлокировки));
Сообщить("Для показа в минутах: " + Строка(Настройки.ДлительностьБлокировки / 60));
Сообщить("Дополнения имени заданы (без вывода кодов): " + Строка(Настройки.КодыДополненияИмениПользователя <> ""));
Сообщить("Только чтение. Ни настройки, ни блокировки не изменены.");
КонецПроцедуры
Процедура ПроверитьУчебнуюПлатформу()
Система = Новый СистемнаяИнформация;
Если Система.ТипПлатформы <> ТипПлатформы.Windows_x86
И Система.ТипПлатформы <> ТипПлатформы.Windows_x86_64 Тогда
ВызватьИсключение "Этот пример использует Windows CryptoAPI";
КонецЕсли;
КонецПроцедуры
Разбор по шагам
Проверить свою пустую конфигурацию и точную Windows-платформу, использовать администратора только собственного стенда.
ПолучитьНастройки без параметров возвращает объект настроек, не Булево и не набор записей.
Проверить тип и положительность секунд; вывести фактический порог и длительность.
Разделить секунды на 60 только для отдельного человекочитаемого поля; настройки не переписывать.
Показать лишь наличие кодов, не сами коды. Не создавать и не снимать блокировки.
Как проверить результат
Показаны фактические порог, секунды, минуты и Булево наличия дополнений имени.
Коды альтернативного входа не попали в сообщения.
Нет вызова УстановитьНастройки или Разблокировать; попытки входа не выполнялись.
Ожидаемый результат
Получен понятный безопасный отчёт о настоящей политике собственного учебного стенда.
На что обратить внимание
БлокировкаАутентификации — глобальное свойство менеджера, а не конструктор. Настройки получают через ПолучитьНастройки, блокировки — через ПолучитьБлокировки.
ДлительностьБлокировки измеряется в секундах и должна быть больше нуля. Нельзя объявлять 120 миллисекундами или передавать нулевую длительность для отключения.
В установленном описании количества попыток указано «превышение» значения. Этот урок не проверяет реальные входы и не выдумывает точную границу номера блокирующей попытки.
Коды дополнения имени могут использоваться для альтернативного входа. Не выводите реальные коды и не подменяйте их случайным 123 из справочного примера.
Имя пользователя без UUID и разделителей недостаточно для безопасного снятия. В стенде с разделением аутентификации нужен отдельный разобранный отбор, а не этот пример.
Изменение всей политики базы и снятие одной блокировки — разные действия. Снятие не создаёт сеанс, не меняет пароль и не доказывает правильность прав пользователя.
Неудача восстановления явно показывается. После аварийного завершения клиента восстановление самим BSL не гарантируется.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.