Opa, Em 14 de novembro de 2012 17:25, Renato Ricci <renatoricc...@gmail.com>escreveu:
> Humm! Entendido Matheus! Faz sentido... Vou ver o que posso fazer para > passar a senha descriptografada.. talvez eu execute o comando create role > direto da aplicação quando o usuário digitar a senha(antes de criptografar) > ao invés da trigger. Mas vou analisar com cautela a situação.. > > De qualquer maneira muito obrigado pelo esclarecimento.. > Uma curiosidade: Para cada usuário da aplicação você vai criar um usuário no banco? Realmente existe esta necessidade? > > T+ > > Renato > > > Em 14 de novembro de 2012 17:17, Matheus de Oliveira < > matioli.math...@gmail.com> escreveu: > >> >> 2012/11/14 Matheus de Oliveira <matioli.math...@gmail.com> >> >>> >>> 2012/11/14 Renato Ricci <renatoricc...@gmail.com> >>> >>>> Não acontece erro.. O usuário é criado normalmente no banco.. apenas >>>> sua autenticação que não é aceita.. >>>> Fiz alguns testes, tipo >>>> >>>> Criei um usuario na mão: >>>> >>>> Create role teste with password '123456'; >>>> a senha gerada para o usuario teste é: >>>> 'md5ce5b428f93ab83af44e2780e51c339e9' >>>> >>>> porém, um usuário da minha tabela, também com a senha 123456, quando a >>>> trigger executa o create role, o usuário é criado com a senha: >>>> 'md5e10adc3949ba59abbe56e057f20f883e' >>>> >>>> Creio que a autenticação não esteja funcionando por esse motivo.. >>>> >>>> >>> Exato. >>> >>> O PostgreSQL não faz um MD5 puro, ele utiliza um sal (ou *salt*). Sem a >>> senha original não vai dar, a não ser que você procure pelo exato método >>> usado para o sal, é possível que seja baseado no MD5 original da senha, daí >>> será possível, carece de pesquisa (ou estudo do código-fonte). >>> >>> >> >> Fiz uma pergunta rápida no IRC, e parece que o método é md5(senha + >> salt), sendo o "salt" baseado no nome do usuário. Logo, a partir da senha >> já em MD5 não vai rolar. >> >> O ideal é você recriar senhas para esses usuários e pedirem pra >> recadastrarem, ou então, cria um furo de segurança temporário na aplicação >> e salva a senha quando o cara logar (evite). >> >> >> >>> >>>> >>>> >>>> Em 14 de novembro de 2012 15:42, JotaComm <jota.c...@gmail.com>escreveu: >>>> >>>> Opa, >>>>> >>>>> Em 14 de novembro de 2012 15:26, Renato Ricci <renatoricc...@gmail.com >>>>> > escreveu: >>>>> >>>>>> Olá pessoal.. >>>>>> >>>>>> Tenho uma tabela de usuários onde armazeno o usuário e senha de >>>>>> acesso do sistema. A senha já está criptografada com MD5. >>>>>> >>>>>> Eu preciso replicar esses usuários para a tabela nativa de usuários >>>>>> do PostgreSQL através do comando create role e manter a mesma senha. Já >>>>>> tentei o comando abaixo, mas sem sucesso: >>>>>> >>>>>> Trigger Function: >>>>>> DECLARE >>>>>> v_senha varchar(); >>>>>> BEGIN >>>>>> v_senha := 'md5' || (new.usu_senha); >>>>>> execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN >>>>>> UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ; >>>>>> return new; >>>>>> END; >>>>>> >>>>>> Alguma sugestão? >>>>>> >>>>> >>>>> Qual o problema/erro que você esta tendo? >>>>> >>>>>> >>>>>> >>>>>> >> >> -- >> Matheus de Oliveira >> Analista de Banco de Dados PostgreSQL >> Dextra Sistemas - MPS.Br nível F! >> www.dextra.com.br/postgres >> >> >> >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > Abraços -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral