Изменения документа G03.04. Фильтры безопасности на уровне строк
Редактировал(а) Ирина Сафонова 22.03.2024, 15:21
От версии 2.1
отредактировано Ирина Сафонова
на 29.02.2024, 00:24
на 29.02.2024, 00:24
Изменить комментарий:
К данной версии нет комментариев
К версии 3.1
отредактировано Ирина Сафонова
на 29.02.2024, 00:27
на 29.02.2024, 00:27
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,10 +1,20 @@ 1 +{{box cssClass="floatinginfobox" title="**Содержание**"}} 2 +{{toc/}} 3 +{{/box}} 4 + 5 +(% data-xwiki-non-generated-content="java.util.List" %) 6 +((( 7 += Создание правила = 8 +))) 9 + 10 +---- 11 + 1 1 При необходимости в пункте меню **Безопасность на уровне строк **создайте правила, которые назначаются конкретной БД и набору ролей. 2 2 3 3 ~1. Нажмите на кнопку **Правило**. 4 4 5 -[[image:Кнопка добавления правила.PNG||height="351" width="1400"]] 16 +[[image:Кнопка добавления правила.PNG||data-xwiki-image-style-border="true" height="351" width="1400"]] 6 6 7 - 8 8 2. В открывшемся окне заполните поля. Обязательные поля отмечены звездочкой. 9 9 10 10 (% class="table-bordered" style="width:535px" %) ... ... @@ -21,9 +21,9 @@ 21 21 22 22 3. Сохраните правило по кнопке **Добавить**. 23 23 24 - [[image:Пример правила.PNG||data-xwiki-image-style-border="true"height="1233" width="812"]]34 += Фильтрация в реестре правил = 25 25 26 - == Фильтрация в реестре правил ==36 +---- 27 27 28 28 В реестре доступна фильтрация по: 29 29 ... ... @@ -31,17 +31,20 @@ 31 31 * типу фильтра, 32 32 * групповому ключу. 33 33 34 -[[image:Фильтрация правил.PNG||data-xwiki-image-style-border="true"]] 35 35 36 -= =Прочие действия ==45 += Прочие действия = 37 37 47 +---- 48 + 38 38 Доступно: 39 39 40 40 * удаление и редактирование правил, 41 41 * множественный выбор правил. 42 42 43 -= =Пример настройки ==54 += Пример настройки = 44 44 56 +---- 57 + 45 45 Используя фильтры безопасности на уровне строк в меню пункте меню **Безопасность**, при необходимости создайте фильтры, которые назначаются конкретной таблице и набору ролей. Если хотите, чтобы члены финансовой группы имели доступ только к строкам, в которых {{code language="none"}}department = "finance"{{/code}}, сделайте следующее: 46 46 ~1. Создайте фильтр безопасности на уровне строк с {{code language="none"}}department = "finance"{{/code}}. 47 47 2. Назначьте предложение роли **Финансы** и таблице, к которой оно применяется. ... ... @@ -48,4 +48,3 @@ 48 48 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}} и так далее. 49 49 50 50 Все соответствующие фильтры безопасности на уровне строк объединяются вместе — внутри различные предложения 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}}, добавленные к их запросу, что никогда не может быть истиной. 51 -