|
|
|
Странности с REVOKE для одного поля таблицы
|
|||
|---|---|---|---|
|
#18+
Допустим, созданы таблица t1 и пользователь test Код: plsql 1. 2. 3. 4. 5. 6. 7. Даем пользователю test все привилегии на таблицу t1: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Права выданы. А теперь отберем у test право делать update полю data1 в таблице t1 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Права не поменялись! Пойдём другим путём. Отзовём все права и выдадим заново, но по-другому: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Права распределились как задумано, хотя и долгим путём. А теперь - ВНИМАНИЕ: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Вопрос: почему не работает Код: plsql 1. сразу после Код: plsql 1. и запрещать обновлять единственное поле надо через явное разрешение других полей, хотя, как видим, вполне себе работает и отзыв права по единственному полю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2016, 15:10 |
|
||
|
Странности с REVOKE для одного поля таблицы
|
|||
|---|---|---|---|
|
#18+
shrdlu, Как пишут в доках , REVOKE забирает привилегии, которые были выданы ранее посредством GRANT. Если такой привилегии нет, то никаких ошибок или предупреждений не выдайтся. Там же — если роли были даны привилегии на таблицу, то "забирание" привилегий на отдельные колонки ничего не меняет. В вашем случае надо явным образом указать те колонки, которые вы хотите позволить править, не давая привилегий на всю таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2016, 17:06 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=90&tid=1997167]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 397ms |

| 0 / 0 |
