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