Trazendo a autorização de row level security do PostgreSQL para a sua aplicação
O PostgreSQL conta com um sistema de autenticação e autorização a nível de linhas e ela é sensacional e muito completa para construir rapidamente e facilmente um sistema de autorização em aplicações comuns e multi tenant dentro da sua aplicação.
O sensacional disso é que é possível abrir o banco de dados para "SQL Injections" de forma segura. Fazendo a configuração adequada do lado do banco, é possível permitir que o cliente da aplicação rode SQLs diretamente no banco, sem precisar traduzir tudo isso num backend.
Aqui vai alguns documentos sobre isso:
Unindo usuários do PostgreSQL e usuários da aplicação + Row Level Security
https://www.2ndquadrant.com/en/blog/application-users-vs-row-level-security/
Row Level Security
https://www.2ndquadrant.com/en/blog/postgresql-row-security-overview/
Melhores práticas com Row Level Security
https://stackoverflow.com/questions/34577784/postgresql-9-5-row-level-security-role-best-practices