Таблица справа: возможна ли защита от записи на основе строк? - PullRequest
0 голосов
/ 30 мая 2011

Можем ли мы ограничить права таблицы, поэтому только пользователь, создавший запись, МОЖЕТ обновить / удалить эту запись?

Например, таблица A (f целое число).

У нас есть 2 пользователя: user1 и user2.

Пользователь1 добавил эту строку:

A

1

Пользователь2 добавил эту строку:

A

2

Таким образом, только пользователь1 может обновить / удалить запись '1',

и только пользователь2 может обновлять / удалять запись '2'.

(и пользователь1, и пользователь2 имеют право вставки / обновления / удаления прямо в таблицу A).

Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 мая 2011

Права доступа на уровне строк возможны, но это немного сложнее. Вам нужно использовать представление, которое фильтрует строки для данного сеанса или пользователя. Если вам также нужен доступ для записи, вам нужно использовать «вместо триггера», который эмулирует обновляемое представление. Вот пример:

http://code.google.com/p/h2database/source/browse/trunk/h2/src/test/org/h2/samples/RowAccessRights.java

0 голосов
/ 30 мая 2011

Hmmmmm У меня есть система членов, где CMS может делать все, но «владелец» строки должен использовать ключ SHA1, сгенерированный на INSERT Затем при выполнении UPDATE / DELETE - вам нужно сделать логику с SQL

СТРОКА ОБНОВЛЕНИЯ ... ГДЕ sha1 = sha1

Использовать ПОЛЬЗОВАТЕЛЬ вместо клавиши sha1?

Это решение?

Mike

...