Row-Level Security

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Наяндексил за

Наяндексил за тебя:
https://wiki.postgresql.org/wiki/RLS

Благодарю за участие. Эту

Благодарю за участие.
Эту статью я уже видел.
Возможно я не заметил... Не удалось найти информацию о том, в какой версии PGSQL появилась эта замечательная возможность. При попытке сделать ALTER TABLE mytable SET ROW SECURITY FOR ALL TO (where user = 1); Выдает ERROR: syntax error at or near "ROW".
Ubuntu 13.10 PostgreSQL 9.1.10 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.8.1-10ubuntu7) 4.8.1, 64-bit.

Похоже, этой функции вообще

Похоже, этой функции вообще не существует, потому что в мануалах её нет, только в вики.

Я реализовал подобное с уровня приложения и, мне кажется, это адекватное решение.

То есть в каждом запросе

То есть в каждом запросе делаете проверку?

То есть, при просмотре

То есть, при просмотре отчётов делать запрос вида:

SELECT * 
FROM some_table
WHERE user_id = :user_id

, где :user_id идентификатор вашего пользователя, работающего в данный момент с данным отчётом.

Допустим, у вас есть админ, ему можно смотреть всё, тогда:

SELECT * 
FROM some_table

Да, именно так я и делаю. А ещё у меня есть ORM, но это другая история :-D

Спасибо, а какой ORM

Спасибо, а какой ORM конкретно Вы пользуетесь?

Дикая смесь Entity Framework

Дикая смесь Entity Framework и BLToolkit+LINQ

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023