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

Responder a