Fazer logout no programa! "sair"

5 respostas
F

bom dia pessoal… tenho uma pagina web onde faco um ogin no sistema e crio uma session para saber quem esta logar… tipo a pagina do msn/orkut e afins…

quero saber como eu faco pra "sair ", e depois se o usuario clicar para voltar aparecer a pagina EXPIROU!!!

fernando Becker

5 Respostas

L

Recupera a sessão e invalide-a

HttpSession session = request.getSession();
		
session.invalidate();
F

tentei aqui… invalidei a sesão mas quando o cara vai no navegador consegue voltar a pagina… e parece a pagina… sem o que tinha na sessao é claro…

não aparece nada de pagina Explirou ou algo parecido…
como faco isso?

marcosbrandao

Cria um Filter, para cada vez de entrar em alguma pagina, validar se a session esta ativa ou nao.

F

mas comop seria esse filtro???
digo como seria a condicao???

no aguardo

marcosbrandao

aqui tem um eemplo que implementei

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class SecurityFilter implements Filter {

	/*
	 * (non-Javadoc)
	 * @see javax.servlet.Filter#destroy()
	 */
	public void destroy() {
	}

	/*
	 * (non-Javadoc)
	 * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
		HttpSession session = ((HttpServletRequest)request).getSession();
		Conta conta = (Conta) session.getAttribute("conta");
		
		String url = ((HttpServletRequest)request).getRequestURI();
		if (url.indexOf("login.jsp") == -1 && conta == null) {
			((HttpServletResponse)response).sendRedirect("login.jsp");
			return;
		}
		
		chain.doFilter(request, response);
	}

	/*
	 * (non-Javadoc)
	 * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
	 */
	public void init(FilterConfig arg0) throws ServletException {		
	}
}

Neste exemplo, Conta é um objeto que guardo na sessao para identificar e controlar quem esta logado na sessao. No seu caso vc usa o atributo da sua sessão.

Criado 18 de maio de 2007
Ultima resposta 21 de mai. de 2007
Respostas 5
Participantes 3