РасширениеКонфигурации.ОсновныеРоли

Свойства · DefaultRoles

Тип: ФиксированныйМассив. Массив содержит объекты типа ОбъектМетаданных: Роль), установленные в свойстве ОсновныеРоли расширения конфигурации. Указанные роли будут определять доступность объектов расширения, если в расширяемой конфигурации отсутствуют пользователи. Для ролей, которые добавляются в качестве основной роли расширения действуют следующие ограничения: Роль должна быть только собственной ролью расширения. Не должна быть заимствованной. Роль предоставляет доступ только к собственным объектам расширения. Не может предоставлять доступ к заимствованным объектам расширения.

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

РасширениеКонфигурации.ОсновныеРоли (ConfigurationExtension.DefaultRoles)

РасширениеКонфигурации (ConfigurationExtension)

ОсновныеРоли (DefaultRoles)

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

Использование:
Только чтение.
Описание:
Тип: ФиксированныйМассив.
Массив содержит объекты типа ОбъектМетаданных: Роль), установленные в свойстве ОсновныеРоли расширения конфигурации. Указанные роли будут определять доступность объектов расширения, если в расширяемой конфигурации отсутствуют пользователи.
Для ролей, которые добавляются в качестве основной роли расширения действуют следующие ограничения:
Роль должна быть только собственной ролью расширения. Не должна быть заимствованной.

Роль предоставляет доступ только к собственным объектам расширения. Не может предоставлять доступ к заимствованным объектам расширения.

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

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

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

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

Описание изменено в версии 8.3.25.

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

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

Прочитать защиту, роли и участие в РИБ, не отключая их

Исследуем настройки собственной минимальной учебной добавки. Безопасный режим может быть Булево или строкой профиля; число основных ролей не равно числу пользователей.

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

Полный серверный модуль собственной УчебнаяКонфигурацияСинтаксиса. Чтение своего расширения, без его установки/обновления кодом.

Подготовка

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

  2. В Конфигураторе этой учебной базы вручную создайте минимальное расширение УчебноеРасширениеСинтаксиса с назначением Дополнение, синонимом Учебное расширение и версией 1.0. Не добавляйте бизнес-код или новые таблицы.

  3. Оставьте безопасный режим и защиту от опасных действий включёнными; не выдавайте через расширение дополнительные основные роли всем пользователям. Установите расширение только в собственной учебной базе и начните новый сеанс.

  4. В серверном общем модуле УчебныеЗадачи разместите полный модуль одного урока. Запускайте свою серверную команду с правами, разрешёнными администратором учебной базы. Код не переключает привилегированный режим.

  5. Примеры только читают паспорт, данные и диагностику. Они не записывают/удаляют расширение, не экспортируют CFE на диск и не отключают защиту.

Процедура ВыполнитьПример() Экспорт
    Перечень = РасширенияКонфигурации.Получить();
    Учебное = Неопределено;
    Для Каждого Расширение Из Перечень Цикл
        Если Расширение.Имя = "УчебноеРасширениеСинтаксиса" Тогда
            Учебное = Расширение;
            Прервать;
        КонецЕсли;
    КонецЦикла;
    Если Учебное = Неопределено Тогда
        ВызватьИсключение "Сначала подготовьте только своё минимальное УчебноеРасширениеСинтаксиса";
    КонецЕсли;
    Сообщить("Активно: " + Строка(Учебное.Активно));
    Безопасность = Учебное.БезопасныйРежим;
    Если ТипЗнч(Безопасность) = Тип("Булево") Тогда
        Сообщить("Безопасный режим включён: " + Строка(Безопасность));
    ИначеЕсли ТипЗнч(Безопасность) = Тип("Строка") Тогда
        Сообщить("Задан профиль безопасного режима: " + Строка(НЕ ПустаяСтрока(Безопасность)));
    КонецЕсли;
    Защита = Учебное.ЗащитаОтОпасныхДействий;
    Сообщить("Предупреждения об опасных действиях: " + Строка(Защита.ПредупреждатьОбОпасныхДействиях));
    Сообщить("Основных ролей расширения: " + Строка(Учебное.ОсновныеРоли.Количество()));
    Сообщить("Основные роли для всех пользователей: " + Строка(Учебное.ИспользоватьОсновныеРолиДляВсехПользователей));
    Сообщить("Участвует в РИБ: " + Строка(Учебное.ИспользуетсяВРаспределеннойИнформационнойБазе));
    Если Учебное.ГлавныйУзел = Неопределено Тогда
        Сообщить("Главный узел расширения не определён");
    Иначе
        Сообщить("Ссылка главного узла определена; обмен не запускается");
    КонецЕсли;
КонецПроцедуры

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

  1. Активно относится к настройке расширения, не к успешному прохождению конкретного теста формы или обмена.

  2. БезопасныйРежим имеет составной тип Строка/Булево. Не сравниваем строку профиля с Истина и не отключаем режим ради доступа к данным.

  3. ЗащитаОтОпасныхДействий — отдельный объект описания. Читаем его ПредупреждатьОбОпасныхДействиях без изменения настройки.

  4. ОсновныеРоли — фиксированный массив назначений, а ИспользоватьОсновныеРолиДляВсехПользователей — отдельный флаг. Это не количество пользователей и не полная проверка их эффективных прав.

  5. Участие в РИБ и ГлавныйУзел читаются отдельно. Неопределено обрабатывается до возможного обращения к ссылке; ни один обмен не запускается.

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

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

  2. В коде нет присваивания настроек защиты или добавления роли.

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

Собраны независимые признаки безопасности и распространения своего расширения.

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

  1. Отключение безопасного режима — не диагностическая проверка.

  2. Основные роли расширения не описывают все роли и RLS текущего пользователя.

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

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

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

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

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