27.10.2015, 12:45 | #1 |
Участник
|
Политики - запрет смены значения с разрешенного на запрещенное
Добрый день
Есть политика (Security/policies) ограничивающая таблицу Table по значению поля Field: значения Value1, Value2 разрешены; все остальные (значения RestrictedValue1, RestrictedValue2) запрещены. В политике стоит применение ко всем операциям (св-во Operation - All Operations). Политика работает, нормально фильтрует/ограничивает видимость. Но при этом политика позволяет провести такой фокус: открыть запись с разрешенным значением Value1 поля Field, изменить это поле на запрещенное значение RestrictedValue1 и сохранить запись (после чего запись пропадает из видимости, т.к. запрещена политикой). Аналогичная RLS (record-level-security) ведет себя хорошо, такой фокус с изменением значения сделать не дает, и при попытке сохранить запись с запрещенным значением поля Field1 - выдает ошибку, что запрещено. Это так задумано в политиках в принципе, или я что-то делаю не так? |
|
30.10.2015, 15:49 | #2 |
Участник
|
А значения записей (Value1, Value2...) берутся из связанной таблицы? Если да то возможно ее тоже следует ограничить.
|
|
05.11.2015, 09:35 | #3 |
Участник
|
Пришлось, к сожалению, так и сделать в результате - ограничить таблицу, из которой берутся значения, таким образом эти значения не появляются в лукапе/не проходят валидейт при ручном выборе.
Других, более адекватных вариантов так и не нашел. Что делать в случае, если эти значения произвольные, а не из связанной таблицы - не ясно. |
|
05.11.2015, 10:57 | #4 |
Участник
|
А если явно запретить в политике сохранять или создавать запись - так не сработает? Мне казалось, что это должно срабатывать. Я явно делал пример, когда на чтение видно, например, всех клиентов отдела, а на запись - только клиента конкретного менеджера.
__________________
Ivanhoe as is.. |
|
Теги |
ax2012, policy, security, xds |
|
|