Vraptor controle de usuários

4 respostas
doravan

Caros companheiros,

Tenho uma aplicação feita no vraptor com o controle de usuários parecido com o goodbuy, queria saber é como faço pra exibir a lista de usuários que estão logados.
Sei que tem como fazer isso, mas não consegui utilizar a classe UsuarioWeb como lista.
Alguma dica de como fazer isso?

4 Respostas

Lucas_Cavalcanti

crie uma classe @ApplicationScoped que guarda os usuários logados.

Daí quando vc logar um usuário vc adiciona ele nessa classe nova, e qdo vc deslogar vc tira

doravan

Eu fiz uma classe que contém uma lista.
Quando o usuário loga, ele é adicionado à lista, porém, se ele apenas fechar o navegador sem deslogar, ele permanece na lista.
Queria saber como faz para pegar a instância da sessão do UsuarioWeb para fazer uma varredura na lista, e remover automaticamente da lista os usuários que não estão mais logados por time-out.

Lucas_Cavalcanti

coloque um session-timeout no web.xml, e crie um método no seu UsuarioWeb anotado com @PreDestroy. Nesse método tire o usuário da lista. Assim quando der timeout de sessão chama esse método @PreDestroy.

faz um teste. Coloque isso no seu web.xml:

<session-config>
		<session-timeout>1</session-timeout>
	</session-config>

crie o método anotado com @PreDestroy no UsuarioWeb.

logue com um usuário e feche a aba.

espere um minuto e veja se o método com @PreDestroy foi chamado

doravan

Em fim consegui resolver o problema.

Segue a dica http://guj.com.br/java/228783-vraptor-httpsession-invalidar

Criado 29 de dezembro de 2010
Ultima resposta 30 de dez. de 2010
Respostas 4
Participantes 2