JAVA - Orientação para Invalidar Sessão
Caros amigos, saudações.
Estou escrevendo um Sistema em JAVA Web Servlet, estou tendo problema para Invalidar Sessão.
Toda vez que o usuário faz o LOGOUT, o sistema permite que o Navegar retorna para a página anterior.
Como consigo bloquear/destruir a sessão para o Sistema quando o usuário sair, voltar sempre para o Login.
o meu Servlet está assim:
package br.com.rc.controlador;
import br.com.rc.dao.UserDAO;
import br.com.rc.modelo.Usuario;
import br.com.rc.seguranca.Criptografia;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet - Autenticação Usuário
*/
public class AuthControlador extends HttpServlet {
private UserDAO authDao = new UserDAO();
private final String PagIndex = "index.jsp";
private final String PagHome = "home.jsp";
private final String PagLogout = "deslogar.jsp";
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String accion = request.getParameter("accion");
switch (accion) {
case "login":
Login(request, response);
break;
case "logout":
Logout(request, response);
break;
default:
throw new AssertionError();
}
}
protected void Login(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.getRequestDispatcher(PagIndex).forward(request, response);
}
/*
* O problema está aqui, não invalida a sessão e permite que volta
* para a página anterior.
*/
protected void Logout(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
HttpSession session = request.getSession();
session.setAttribute("users", null);
session.removeAttribute("users");
session.invalidate();
response.sendRedirect(PagLogout);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
Deslogar.JSPpágina criada para impedir que volte para a anterior.
<%
//Destrói Sessão
session.invalidate();
//Redirecionar Página Login
response.sendRedirect("index.jsp");
%>
Grato,
Cesar
Discussão (0)
Carregando comentários...