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