Изменения документа G03.04. Фильтры безопасности на уровне строк
Редактировал(а) Ирина Сафонова 22.03.2024, 15:21
От версии 9.1
отредактировано Ирина Сафонова
на 22.03.2024, 00:09
на 22.03.2024, 00:09
Изменить комментарий:
К данной версии нет комментариев
К версии 11.1
отредактировано Ирина Сафонова
на 22.03.2024, 00:10
на 22.03.2024, 00:10
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -15,12 +15,11 @@ 15 15 16 16 [[image:Кнопка добавления правила.PNG||data-xwiki-image-style-border="true" height="301" width="1200"]] 17 17 18 -2. В открывшемся окне заполните поля. Обязательные поля отмечены звездочкой. 19 - 18 +2. В открывшемся окне заполните поля. 20 20 21 21 {{info}} 22 -Примечание. 23 - 21 +**Примечание.** 22 +Обязательные поля отмечены звездочкой. 24 24 {{/info}} 25 25 26 26 (% class="table-bordered" style="width:535px" %) ... ... @@ -66,7 +66,9 @@ 66 66 67 67 Используя фильтры безопасности на уровне строк в меню пункте меню **Безопасность**, при необходимости создайте фильтры, которые назначаются конкретной таблице и набору ролей. Если хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых {{code language="none"}}department = "finance"{{/code}}, сделайте следующее: 68 68 ~1. Создайте фильтр безопасности на уровне строк с {{code language="none"}}department = "finance"{{/code}}. 68 + 69 69 2. Назначьте предложение роли **Финансы** и таблице, к которой оно применяется. 70 + 70 70 3. Поле предложения, которое может содержать произвольный текст, добавьте к предложению {{code language="none"}}WHERE{{/code}} сгенерированного оператора SQL. Таким образом, вы даже можете настроить фильтр //За последние 30 дней// и применить его к определенной роли с таким предложением, как {{code language="none"}}date_field > DATE_SUB(NOW(), INTERVAL 30 DAY){{/code}}. Фильтр поддерживает несколько условий: {{code language="none"}}client_id = 6{{/code}} И {{code language="none"}}advertiser="foo"{{/code}} и так далее. 71 71 72 72 Все соответствующие фильтры безопасности на уровне строк объединяются вместе — внутри различные предложения SQL объединяются с помощью операторов AND. Это означает, что можно создать ситуацию, когда две роли конфликтуют таким образом, что подмножество таблиц может быть пустым. Например, фильтры** **{{code language="none"}}client_id=4{{/code}} и {{code language="none"}}client_id=5{{/code}}, примененные к роли, приведут к тому, что пользователи этой роли будут иметь {{code language="none"}}client_id=4{{/code}} и {{code language="none"}}client_id=5{{/code}}, добавленные к их запросу, что никогда не может быть истиной.