Olá, Em 28 de abril de 2010 11:05, Wagner Santos <[email protected]>escreveu:
> Caros, > Novamente estou com dificuldades no Postgre, agora é para entender o > funcionamento dos usuários e permissões. > Primeiro uma correção. O correto é Postgres ou PostgreSQL. > > Li na documentação que existem 2 tipos de usuários: Usuários de > Grupo (CREATE ROLE) e Usuários de Login (CREATE USER). > Partindo desse princípio: > Sim, existem dois níves (grupos e usuários). O comando CREATE ROLE cria tanto role conteiner (grupo) como role de login (usuários). O que diferencia é a sintaxe de criação: Exemplo: Criando um grupo: CREATE ROLE grupo; Criando um usuário de login: CREATE ROLE jota LOGIN; O comando CREATE USER assim como CREATE GROUP são das versões anteriores do PostgreSQL (8.1) e ainda continuam por questões de compatibilidade. > As pessoas que terão privilégio de acesso ao sistema devem ser cadastrada > com Usuário de Login , até aqui, tudo bem, PORÉM, imaginei, que os Usuários > de Grupo funcionassem como Grupos (Admin, Edicao, Leitura...) onde eu > pudesse colocar um Usuário de Login a fim de que não tivesse que ficar dando > permissões iguais para todo mundo que eu criar no banco, só então, das duas > uma, ou eu entendi errado ou estou fazendo algo errado. > Enfim, o que eu gostaria era de criar usuários e regras genéricas que eu > pudesse adicionar a esses usuários. > Depende da implementação? Cada usuário do sistema terá um usuário associado no banco? Quer dizer que se você tiver 500 usuário no sistema você terá 500 usuários mapeados no banco? Que tal pensar em uma tabela de associação de um usuário no banco e tabela contendo os usuários da aplicação? Mas bem continuando. Você pode criar um grupo e associar os usuários. Mas que tipo de permissão que você quer dar aos usuários? Lembre, que associação que você consegue é de acesso aos objetos, como por exemplo: CREATE ROLE grupo; CREATE ROLE usuario1 LOGIN; CREATE ROLE usuario2 LOGIN; Adicionando os usuários ao grupo criado. GRANT grupo TO usuario1; GRANT grupo TO usuario2; Verificando os usuários e seus respectivos grupos: SELECT grupo.rolname,usuario.rolname FROM pg_roles grupo JOIN pg_auth_members ON grupo.oid=pg_auth_members.roleid JOIN pg_roles usuario ON pg_auth_members.member=usuario.oid; Concedendo privilégios a um grupo: GRANT SELECT,INSERT ON tabela TO grupo; Concedendo privilégios a um usuário do grupo: GRANT UPDATE ON tabela TO usuario1; Seria isso que você deseja? > Desde já agradeço a atenção e a ajuda que tenho recebido. > > ---------- > Wagner Santos > MSN/Gtalk: [email protected] > Site: http://www.geracaoelias.blog.br > meadiciona:http://meadiciona.com/wagnergsantos/ > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > []s -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
