Мы увидели PostgreSQL ролей в классе в этом году. Наш учитель сказал нам, что более безопасно использовать разные роли с пользовательскими правами для каждой таблицы или даже столбца, если это необходимо.
У нас есть проект, в котором мы должны использовать PostgreSQL для создания веб-сайта с ограниченным доступом для подключенных пользователей, которые могут быть разных типов (администратор, сотрудник, клиент). Чтобы следовать рекомендациям учителя, мы создали разные роли с разными правами (по одной для каждого типа пользователя).
Мы решили использовать Go для нашего бэкэнда (с авторизацией токена), но я не могу понять, как использовать наши роли, в которых больше групп, чем пользователей. Я прочитал в do c, что вы «открываете» соединение с БД раз и навсегда, но для этого вам нужно назначить роль PostgreSQL. Я не нашел способа изменить связанную роль без закрытия и повторного открытия БД. Если я запускаю приложение без изменения подключенных ролей, как может PostgreSQL контролировать, имеет ли пользователь право доступа к таблицам, которые ему нужны для запросов.