1С:Предприятие 8.2 /
Разработчикам /
Настройка прав доступа к данным
Проверка прав доступа
Область применения: управляемое приложение, обычное приложение.
1. В случае большого количества ролей в конфигурации (от нескольких десятков) не рекомендуется использовать ролевую настройку видимости в элементах форм. Вместо этого следует придерживаться следующих подходов:
- при сильных различиях внешнего вида и функциональности формы в зависимости от наличия тех или иных ролей у пользователя – разрабатывать отдельные формы, специализированные под конкретный набор прав пользователя;
- при незначительных отличиях – выполнять проверку прав в коде. При этом следует иметь в виду, что программное управление ролевой видимостью может снизить скорость открытия формы , что нужно учитывать при выборе между предлагаемыми подходами.
Эти меры позволяют
- существенно упростить работу из кода с элементами управления, которые пропадают из коллекции Элементы (код Элементы.ИмяЭлемента.ИмяСвойства становится нерабочим);
- повысить устойчивость кода к пересмотру состава ролей в конфигурации;
- организовать контроль использования ролей в конфигурации (в противном случае, выполнять анализ прав доступа по флажкам, назначенных для ролей в различных элементах произвольных форм конфигурации, крайне затруднительно).
2. Для проверки прав доступа в коде следует использовать метод ПравоДоступа.
Например, неправильно:
Если РольДоступна("ДобавлениеИзменениеСтранМира") Тогда ...
Если РольДоступна("ПросмотрОтчетаПопулярныеСтраны") Тогда ...
правильно:
Если ПравоДоступа("Редактирование", Метаданные.Справочники.СтраныМира) Тогда ...
Если ПравоДоступа("Просмотр", Метаданные.Отчеты.ПопулярныеСтраны) Тогда ...
Такой подход позволяет повысить устойчивость кода к пересмотру состава ролей в конфигурации, а также обеспечить работоспособность конфигурации в особых режимах работы, когда реальный состав ролей отличается от спроектированного – см. Создание профильных ролей (документация Библиотеки стандартных подсистем, БСП).
3. В тех случаях, где роль не дает никаких прав на объекты метаданных, а служит только для определения того или иного дополнительного права, допустимо использовать метод РольДоступна.
При использовании профильных ролей (средствами подсистемы «Управление доступом» БСП) реальный состав ролей отличается от спроектированного, поэтому вместо метода платформы РольДоступна следует использовать функцию РолиДоступны общего модуля Пользователи.
См. также
Другие материалы по теме:
документация, метаданные, разработка, скорость, подход, стандартные, проверки, создание, доступ, просмотр, редактирование, элементы, пользователи, справочники, что, код, состав, например, формы, элемент, справочник., управление, данные, конфигурации
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Настройка прав доступа к данным
Другие материалы по теме:
Обработчики событий ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления
Практикум 1. Создание справочников
Типовая анкета как основной инструмент подсистемы управления компетенциями
Мы на Facebook