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