Глобальный контекст.БезопасныйРежим

Методы · SafeMode

Получает текущее значение безопасного режима.

Синтаксис

БезопасныйРежим()
Полное описание, параметры и ограничения

Глобальный контекст.БезопасныйРежим (Global context.SafeMode)

Глобальный контекст (Global context)

БезопасныйРежим (SafeMode)

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

Синтаксис:
БезопасныйРежим()
Возвращаемое значение:
Тип: Булево, Строка.
Строка, если установлен безопасный режим с указанием имени профиля безопасности.
Истина, если установлен безопасный режим.
Ложь, если безопасный режим не установлен.
Описание:

Получает текущее значение безопасного режима.

Доступность:

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

См. также:
Глобальный контекст, метод УстановитьБезопасныйРежим

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

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

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

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

Прочитать безопасный и привилегированный режимы, ничего не отключая

БезопасныйРежим может возвращать Булево или строковое имя профиля. ПривилегированныйРежим возвращает отдельный булев признак.

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

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

Подготовка

  1. Работайте только в отдельной собственной конфигурации УчебнаяКонфигурацияСинтаксиса. Диагностику рабочих серверов и копирование реальных идентификаторов в общий учебник эти уроки не предусматривают.

  2. Для первого урока вставьте полный модуль в свою управляемую форму и создайте команду ПроверитьСреду с одноимённым обработчиком. Для остальных создайте серверный общий модуль УчебнаяДиагностика, вставьте полный модуль урока и вызовите ВыполнитьПример из серверного обработчика команды.

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

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

  5. Фактические значения зависят от файловой или клиент-серверной базы, текущего режима и прав. Код проверяет типы и явно подписывает наблюдения, не обещает фиксированные номера или имена.

  6. Проверки BSL-модулей в реальном запущенном клиенте 1С не проводились автоматически. Статическая сверка со справкой не подтверждает состояние вашей базы.

Процедура ВыполнитьПример() Экспорт
    Безопасность = БезопасныйРежим();
    ЕстьПривилегии = ПривилегированныйРежим();
    ТипБезопасности = ТипЗнч(Безопасность);
    Сообщить(ТипБезопасности = Тип("Булево") ИЛИ ТипБезопасности = Тип("Строка"));
    Сообщить(ТипЗнч(ЕстьПривилегии) = Тип("Булево"));
    Если ТипБезопасности = Тип("Строка") Тогда
        Сообщить("Безопасный режим задан профилем; имя профиля намеренно не печатается");
    Иначе
        Сообщить("Фактический булев безопасный режим: " + Строка(Безопасность));
    КонецЕсли;
    Сообщить("Фактический привилегированный режим текущего кода: " + Строка(ЕстьПривилегии));
КонецПроцедуры

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

  1. Из непривилегированного собственного серверного модуля прочитать текущую безопасность и привилегии.

  2. Проверить тип безопасного режима: он может быть строкой, поэтому не преобразовывать любой результат в Булево.

  3. Для профиля не выводить имя, для булева значения вывести подписанный фактический результат.

  4. Прочитать привилегированный режим отдельно. Ни один setter не вызывается.

  5. Не пытаться исправить отказ доступа отключением безопасности: выяснить контекст и права своей учебной базы.

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

  1. Две проверки типов Истина и фактические подписанные режимы.

  2. Безопасность, роли, привилегии и пользовательские данные остаются без изменений.

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

Самостоятельный диагностический пример с правильным разбором объединённого типа результата.

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

  1. Безопасный режим и привилегированный режим — не противоположные названия одного флага.

  2. Строковый профиль нельзя автоматически приравнять к Истина или Ложь.

  3. Эти признаки не заменяют проверку конкретного права и ограничений доступа к данным.

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

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

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

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

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