Hibernate + Vários usuários?

Pessoal no meu hibernate.cfg.xml, eu tenho um usuário e uma senha, cadastrado, quando logo no sistema tenho varios usuários e várias senhas logicamente… mas todos usando essa entrada do hibernate… como eu faço para saber que usuário logou no meu sistema ? registrar isso no banco !?

Obrigado !

Sim, na verdade o que tu tens então é 1 usuario de banco (que é oq tem as credenciais no hibernate.cfg.xml) e vários usuários de aplicação, que são esses que estão logando.

O que tu quer fazer, pelo que eu entendi, é manter um log dos usuários que se logaram. Se for isso mesmo a forma que eu utilizo nas minhas aplicações é registrar as ações (login, logout, alterações, inclusões, exclusões, etc) numa tabela LOG que tem as colunas:

  • data/hora
  • usuario
  • ação (login, logout, …)
  • descrição

e ter alguma área do sistema que consulte esses registros…

Eu ja trabalhei com sistemas que eram muitos acessos e o registro do Log ficava inviável para ser resgistrado no DB. Nesse caso registrávamos em um arquivo TXT mesmo.

Nao esta claro o que vc quer exatamente. Se vc quiser apenas registrar quem entrou no sistema, uma tabela (ou arquivo) de log funciona. Mas caso precise utilizar uma credencial de banco de dados para cada usuario, entao vc precisa fazer um ConnectionProvider pro Hibernate. Se for este o caso, de uma pesquisada na documentacao da interface org.hibernate.connection.ConnectionProvider.

Registro de log de acesso ficar inviável em BD? Tem bd que mantém até arquivos (doc, xls, ppt) em tabela e esse nao conseguia manter miseras strings e relacionamentos com outras tabelas? tu ve só né, cada coisa

nesta função eu pego o ROOT que é um usuário do postgresql, e o usuário do hibernate.cfg.xml… não o usuário da seção que logou no sistema esse é meu problema !

[code]-- Function: sigi.gera_log()

– DROP FUNCTION sigi.gera_log();

CREATE OR REPLACE FUNCTION sigi.gera_log()
RETURNS trigger AS
$BODY$
BEGIN
INSERT INTO LOG (campo1, campo2, alteracao)
VALUES (now(), USER, TG_OP);
RETURN NEW;
END;
$BODY$
LANGUAGE ‘plpgsql’ VOLATILE
COST 100;
ALTER FUNCTION sigi.gera_log() OWNER TO root;
[/code]

Como já fez ?

eu tenho um problema semelhante,
eu preciso logar varios usuarios no banco para o meu log auditor funcionar corretamente,
e francamente estou perdido com isso.
qualquer dica de tutorial em ingles ou portugues ou um exemplo de codigo seria otimo.

agradeco qualquer ajuda. =)