@dmitryboz21

Как реализовать систему ролей в postgresql?

Есть бд на postgresql(учебный проект). Также есть приложение на c#, которое позволяет взаимодействовать с данной бд(Просмотр/добавление/удаление И тд). В общем весь основной функционал.

Необходимо доработать. Абстрактный пример: бд сети магазинов. И необходимо чтобы работники каждого конкретного магазина видели в нескольких таблицах данной бд только те записи, которые принадлежат их магазину и взаимодействовали только с ними. А администратор из (например) главного офиса мог видеть и редактировать все записи.

Подскажите, пожалуйста, как оптимально это реализовать, и возможно ли(и если возможно, то как) реализовать это лишь на уровне бд, не переписывая само приложение для взаимодействия с бд(ну кроме минимальных правок: добавления авторизации)

Есть начальные знания в бд. Но куда копать чтобы реализовать такое - не уверен. Преподаватель сказал что знает как минимум 2 метода. Один проще, а другой сложнее.

На ум первым приходит топорный вариант - ограничить запросы, добавив в таблицы поля с id юзеров, которым можно с ними взаимодействовать, и разрешить юзерам выполнять только такие запросы. Но пока не знаю это реализовать. И хочется решения более простого и качественного.

Также догадываюсь что можно работать как-то через представления(view)(если я верно понял их смысл, ибо ранее и не использовал). По типу добавить колонку в каждую таблицу с id юзеров, которым можно. Получать это представление и давать пользователям соответствующей категории работать с соответствующим представлением. Но не уверен, можно ли через представление редакировать и удалять записи. Это выглядит лучше(имхо), но не уверен, нет ли более изящного и красивого решения (желательно с минимумом телодвижений).

Итоговый вопрос: куда копать, товарищи ITшники?
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 1
dromenkojunior
@dromenkojunior
Tableau, python, SQL
И как решили?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы