PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Sistema de login usando usuários físicos do postgres e não usuários lógicos


Para atingir seu objetivo

você pode criar:

1) Dois esquemas:um para tabelas comuns, outro para segurança como tabela de login/pass(hash), log de sessão do usuário, tabela de log de alterações, etc.

2) Dois usuários:um usuário comum, que só pode usar dml no esquema comum (sem ddl), um superusuário.

3) Função de login que verificará o usuário/senha fornecido em relação à tabela de login/senha e registrará tentativas bem-sucedidas/falhas no log de sessão do usuário (você precisa do SECURITY DEFINER função)

4) Conjunto de gatilhos de auditoria em tabelas de esquema comuns que verificarão os privilégios do usuário e registrarão quaisquer alterações feitas pelo usuário (SECURITY DEFINER funções aqui também).