Já tentei assim como voce falou Jacson.. mas sem sucesso.. Ele até cria o
usuário.. mas não autentica..
Creio que eu vou aderir as dicas do Bruno e do João Paulo e fazer a
autenticação direto no banco...

Mais uma vez obrigado!

Renato


Em 16 de novembro de 2012 08:30, Crauss, Jacson <cra...@gmail.com> escreveu:

> E se tu fizer, Renato, a na tua trigger o seguinte:
>
> Trigger Function:
>  DECLARE
> v_senha varchar();
> BEGIN
>   select Md5(new.usu_senha) into v_senha;
>    execute 'CREATE ROLE ' || new.usu_usuario || ' NOINHERIT LOGIN
> UNENCRYPTED PASSWORD ' || quote_literal(v_senha) ;
>   return new;
> END;
>
> A parte em vermelha eu mudei da que tu tinha colado.
>
>
> 2012/11/14 Joao Paulo Rieg <jpaulor...@yahoo.com.br>
>
>> **
>> Correto Renato!
>>
>> A senha que envio não é criptografada, pois na tela de cadastro que fiz
>> não criptografo a mesma.
>> Na verdade, a tabela de usuarios que fiz é para fins de obter informações
>> mais detalhadas do mesmo.
>> O login do sistema nao faço pela tabela e sim pela role. se a role existe
>> e o usuario digitar a senha correta, ele loga no banco e terá acesso as
>> tabelas de acordo com as permissões concedidas à role. Neste caso o próprio
>> banco vai administrar essa questão das  permissões aos usuarios logados.
>> Na questão de criptografia da senha,... o banco faz a
>> criptografia automatica quando crio/modifico a role e também no login.
>>
>> Att. Rieg
>>
>>
>>
>>
>>
>> Olá João Paulo.. tudo bem?
>> no meu caso, a senha já está criptografada em MD5.. se eu fizer como vc
>> fez, eu penso que a senha será criptografada 2 vezes..
>> Nos eu caso NEW.passwd não esta criptografado né? ou seja.. é um clear
>> password. correto?
>>
>> valeu!
>>
>> Renato
>>
>>
>> Em 14 de novembro de 2012 16:06, Joao Paulo Rieg <jpaulor...@yahoo.com.br
>> > 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?
>>>
>>> Obrigado,
>>> Renato
>>>
>>>
>>> Tenho uma trigger que está assim:
>>>
>>> CREATE OR REPLACE FUNCTION gravar_role()
>>>   RETURNS trigger AS
>>> $BODY$
>>> DECLARE
>>>  SQL TEXT;
>>>  BEGIN
>>>   IF TG_OP = 'INSERT' THEN
>>>    SQL = 'CREATE ROLE '||NEW.usuario||' LOGIN PASSWORD
>>> '||quote_literal(NEW.passwd)||' INHERIT; ';
>>>    EXECUTE SQL;
>>>    RETURN NEW;
>>>   ELSEIF TG_OP = 'UPDATE' THEN
>>>    SQL = 'ALTER ROLE '||NEW.usuario||' PASSWORD
>>> '||quote_literal(NEW.passwd)||'; ';
>>>    EXECUTE SQL;
>>>    RETURN NEW;
>>>   ELSEIF TG_OP = 'DELETE' THEN
>>>    SQL = 'DROP ROLE '||OLD.usuario||'; ';
>>>    EXECUTE SQL;
>>>    RETURN OLD;
>>>   END IF;
>>>  END;
>>> $BODY$
>>>   LANGUAGE plpgsql VOLATILE;
>>>
>>> CREATE TRIGGER gravar_role
>>>   BEFORE INSERT OR UPDATE OR DELETE
>>>   ON sis_user
>>>   FOR EACH ROW
>>>   EXECUTE PROCEDURE gravar_role();
>>>
>>>
>>> A unica preocupação que tive que fazer na aplicação é de não permitir
>>> modificar o nome do usuario.
>>> Esta trigger modifica a senha e também remove a role caso seja removido
>>> na tabela.
>>>
>>> Att. Rieg
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> _______________________________________________
>> 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
>
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a