Sou novo no GUJ.
Caso esteja fazendo algo errado, me desculpe.
Estou com problema para criar sessão Login, tenho Dois tipos de menu principal (Usuario e Administrator). Alguém poderia verificar meu código, consigo efetuar login normalmente com usuário comum, já com usuário administrador não
consigo criar sessão par o menu administrator;
DAO
public Login autenticaUsuario(Login login) throws ClassNotFoundException {
Login usuarioAutenticado = null;
Connection conexao = null;
PreparedStatement pstmt = null;
ResultSet rsUsuario = null;
try {
conexao = new FabricaConexao().getConnection();
pstmt = conexao.prepareStatement(AUTENTICA_USUARIO);
pstmt.setString(1, login.getLogin());
pstmt.setString(2, login.getSenha());
rsUsuario = pstmt.executeQuery();
if (rsUsuario.next()) {
usuarioAutenticado = new Login();
usuarioAutenticado.setId(rsUsuario.getInt(“id”));
usuarioAutenticado.setLogin(rsUsuario.getString(“login”));
usuarioAutenticado.setSenha(rsUsuario.getString(“senha”));
usuarioAutenticado.setPerfil(PerfilDeAcesso.valueOf(rsUsuario.getString(“perfil”)));
}
} catch (SQLException sqlErro) {
throw new RuntimeException(sqlErro);
} finally {
if (conexao != null) {
try {
conexao.close();
} catch (SQLException ex) {
Logger.getLogger(LoginDAO.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
return usuarioAutenticado;
}
Servelt
@WebServlet(name = “ControleAcesso”, urlPatterns = {"/ControleAcesso"})
public class ControleAcesso extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String acao = request.getParameter("acao");
if (acao.equals("Entrar")) {
Login login = new Login();
login.setLogin(request.getParameter("txtLogin"));
login.setSenha(request.getParameter("txtSenha"));
LoginDAO usuarioDAO = new LoginDAO();
Login usuarioAutenticado = usuarioDAO.autenticaUsuario(login);
//se o usuario existe no banco de dados
if (usuarioAutenticado != null) {
//cria uma sessao para o usuario
HttpSession sessaoUsuario = request.getSession();
sessaoUsuario.setAttribute("usuarioAutenticado", usuarioAutenticado);
//redireciona para a pagina princiapal
response.sendRedirect("principal.jsp");
} else {
RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
request.setAttribute("msg", "Login ou Senha Incorreto!");
rd.forward(request, response);
}
} else {
if (acao.equals("Sair")) {
HttpSession sessaoUsuario = request.getSession();
sessaoUsuario.removeAttribute("usuarioAutenticado");
response.sendRedirect("index.jsp");
}
}
} catch (Exception erro) {
RequestDispatcher rd = request.getRequestDispatcher("/erro.jsp");
request.setAttribute("erro", erro);
rd.forward(request, response);
}
}
@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);
}
}