Перейти к основному содержимому

Роли

Основное

  1. Создавать роли на новые объекты и настраивать согласно стандарту «Настройка ролей и прав доступа»

  2. Снимать право «Интерактивное удаление» у роли ПолныеПрава с новых объектов

  3. Отключать у роли права на подключение (тонкий клиент, веб-клиент, мобильный клиент и прочие)

  4. Не забывать создавать роли на новые подсистемы прфПодсистема<ИмяПодсистемы>

  5. Новый объект должен быть размещен в служебную подсистему согласно регламенту Подсистемы.

  6. Для новых ролей соблюдать единый шаблон именования:

    • Чтение<ИмяФункции> — права чтения/просмотра/ввод по строке;
    • ДобавлениеИзменение<ИмяФункции> — права добавления/изменения/редактирования;
    • ПросмотрОтчета<ИмяОтчета> — права использования и просмотра отчета;
    • ИспользованиеОбработки<ИмяОбработки> — права использования и просмотра обработки.
  7. Для подсистем верхнего уровня создавать отдельные роли вида Подсистема<ИмяПодсистемы> с правом просмотра.

  8. Для проверки наличия роли использовать:

    УправлениеДоступом.ЕстьРоль("ИмяРоли");
  9. Не использовать устаревшие и точечные проверки доступности ролей в коде, если доступна пакетная проверка ролей в подсистеме пользователей.

    Неправильно:

    Если УправлениеДоступом.ЕстьРоль("ДобавлениеИзменениеЗаказов") Тогда
    ПровестиЗаказ();
    Иначе
    ВызватьИсключение "Недостаточно прав";
    КонецЕсли;

    Правильно:

    ТребуемыеРоли = Новый Массив;
    ТребуемыеРоли.Добавить("ДобавлениеИзменениеЗаказов");
    ТребуемыеРоли.Добавить("ЧтениеЗаказов");

    Если Не Пользователи.РолиДоступны(ТребуемыеРоли) Тогда
    ВызватьИсключение "Недостаточно прав";
    КонецЕсли;

    ПровестиЗаказ();
  10. Запрет использования команд «установить все / снять все» в редакторе роли Статья: Как правильно настроить RLS

RLS

Из роли ИзменениеУчастниковГруппДоступа копируем необходимые шаблоны (ПоЗначениям, ПоЗначениямРасширенный), в зависимости от объекта назначения, в новые роли. Описание необходимых действий для поддержки RLS приведены в описание объектов метаданных.

Стандартный

  • Поддерживаем всегда (пока добавляем поддержку в конце проекта)

Производительный

  • Поддерживаем по требованию конкретного проекта

Копирование ограничений

1 2 3