[RESOLVIDO]Encerrar sessão após fechar o browser

6 respostas
E

Galera.

coloco a seguinte configuração:

<s:session-management invalid-session-url="/publico/login.jsf"> <s:concurrency-control expired-url="/publico/login.jsf" max-sessions="1" error-if-maximum-exceeded="true" /> </s:session-management>

Se eu faço o login e fecho o browser e depois tento acessar novamente ele me retorna um erro me informando que já existe um usuário logado.

Como faço pra ele matar a sessão após o browser ser fechado?

6 Respostas

E

Não dá para saber se o browser foi fechado. Você pode colocar um listener para ficar verificando durante um período.

E

Entendi. E vc teria como me passar mais detalhes de como faria isso ?

E

Aqui tem um exemplo, pode manipular da maneira que deseja:

Também pode colocar alterar o time-out da sessão:

<session-timeout>10</session-timeout>

Esse tempo é em minutos.

E

ErickRAR:
Aqui tem um exemplo, pode manipular da maneira que deseja:

Também pode colocar alterar o time-out da sessão:

<session-timeout>10</session-timeout>

Esse tempo é em minutos.

Bem, nao estou conseguindo recuperar essa session. Nao sei onde ela ficar armazenada. Tentei usar aquela classe SpringSecurityContextHolder mas, nao consigo localizar.

Estou usando LDAP Spring security 3.1.

E

Olá Pessoal.

Consegui resolver da seguinte maneira:

/**
	 * Método que verifica se  existe o usuário na sessão e a expira caso exista. 
	 */	
	private void validaUsuarioSessao(){
		SessionRegistry sessionRegistry  = (SessionRegistry)ContextoUtil.recuperaBean(SESSION_REGISTRY);		
		for(Object obj : sessionRegistry.getAllPrincipals()){			
			if(((UserDetails)obj).getUsername().equalsIgnoreCase(this.login)){
				for(SessionInformation si : sessionRegistry.getAllSessions(obj, false)){
					sessionRegistry.removeSessionInformation(si.getSessionId());
					return;
				}				
			}			
		}
	}

Obrigado.

C

Opá,

Tem como postar o código do método “recuperaBean” ?

Obrigado,

Criado 6 de julho de 2012
Ultima resposta 11 de out. de 2012
Respostas 6
Participantes 3