Ограничение доступа к информации
Ограничение доступа к информации
Вы можете скрыть некоторые записи в компонентах TableGrid и ComboBox, которые не должен видеть пользователь.
Для этого в свойстве компонента "Roles" предусмотрен подраздел "Data Filter", в котором для каждой роли вы можете написать условие для фильтрации записей. Синтаксис условия аналогичен синтаксису языка запросов SQL в секции WHERE
Пример
Допустим у вас база данных документов, каждому документу присваивается его важность: "Высокая", "Средняя", "Низкая". Сделаем так, чтобы:
- пользователь с ролью "User" мог видеть документы только с важностью "Низкая"
- пользователь с ролью "Manager", будет видеть документы с важностью "Средняя" и "Низкая"
- пользователь с ролью "Director" будет видеть все документы
Так выглядить структура база данных документов и данные в них.
Соответственно настройка компонента TableGrid будет выглядеть так:
Для роли Director оставляем поле пустым, т.о. данная роль будет иметь доступ к любым документам.
Для роли Manager перечисляем идентификаторы важности документов, т.о. данная роль будет иметь доступ к документам Средней и Низкой важности.
Для роли User будут доступны только документы с идентификатором важности 3, что соответствует документам Низкой важности.
Допустим и такой вариант настройки
На первый взгляд он кажется более простым и логичным, когда указываем непосредственно важность документа в текстовом виде, но он обладает рядом недостатков:
- Поле "level.name" обязательно должно присутствовать в настройках компонента TableGrid
- При изменении названия важности, например с "Низкая" на "Низкий", вам необходимо будет исправлять условие.
- Будет работать медленнее.
Настройка компонента ComboBox производится аналогично.
Далее: Создание пользователей