Em 16 de novembro de 2011 09:38, Paulo Vitor Bettini de Albuqerque
Lima <[email protected]> escreveu:
> Caros senhores,>> Vocês já implementaram em banco permissões de acesso a 
> nível de linhas da> tabela?>> Estou com um cenário que está me tirando o 
> sono. Estou começando um sistema> onde os usuários terão permissão para dados 
> de uma determinada localidade.> Ou seja, na tabela de acolhida por exemplo, 
> um determinado usuário possui> permissão de escrita, mas só pode escrever nas 
> acolhidas dentro da> localidade para a qual ele está cadastrado com nível de 
> escrita. Porém ele> pode estar associado a outras localidades, com permissão 
> de leitura apenas.>> Alguém já fez algo do tipo? Ou sabe de algum termo para 
> eu pesquisar sobre?> Estou com bastante dúvidas de como modelar isso.>> 
> Atenciosamente,> Paulo Vitor Bettini de Albuquerque Lima> 
> http://about.me/paulolima>> _______________________________________________> 
> pgbr-geral mailing list> [email protected]> 
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral>>
Paulo, bom dia.

Se os dados que o usuário terá acesso são divididos por regiões e
estas regiões são uma chave estrangeira na sua tabela de acolhida, e
cada usuário seja realmente um usuário diferente do banco, acho que
uma solução boa ser utilizar o particionamento de tabelas do
PostgreSQL. Como cada região está em uma partição diferente, teria
como você montar uma trigger em uma tabela de permissão de região que
adicionasse ou removesse as permissões nas partições corretas.

Caso não seja um usuário do banco de dados, recomendaria criar funções
para inclusão, alteração e seleção de dados, retornando uma estrutura
de registro semelhante à sua tabela acolhida.

Atenciosamente,
-- 
Daniel Cristian Cruz
クルズ クリスチアン ダニエル
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a