Login e Session

0 respostas
T

Caros, estou com uma dúvida na hora de autenticar um cliente.
O cliente para se autenticar informa e-mail e senha., faço a validação verificando se existe uma cliente com e-mail e senha igual, se sim pego o idcliente e coloco na sessão.

Trecho do código do controle.

@Override
	public void execute(HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		
		String email = request.getParameter("email");
		String senha = request.getParameter("senha");
		
		if(email.equals("")||senha.equals("")){
			response.sendRedirect("login.jsp?mensagem=Informe email e senha.");
		}else{
			int idCliente = cDao.confirmaLoginSenha(email,senha);
			
			if(idCliente == 0){
				response.sendRedirect("login.jsp?mensagem=E-mail e senha não cadastrado.");
			}else{
				HttpSession sessionCliente = request.getSession(true);
				sessionCliente.setAttribute("sessionCliente", idCliente);				
				RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
				rd.forward(request, response);
			}
		}

	}

Trecho do código do Dao.

public int confirmaLoginSenha(String email, String senha)throws SQLException {
		ResultSet rs = null;
		int idCliente = 0;
		try{
			PreparedStatement stmt = conn.prepareStatement("select idcliente from cliente " +
					"where email='"+email+"' and senha='"+senha+"'");
			rs = stmt.executeQuery();
			while (rs.next()) {
				idCliente = rs.getInt("idcliente");			
			}
		}catch (Exception e) {
			e.printStackTrace();
		}
		return idCliente;
	}

Na jsp verifico se o id do cliente está na sessão, para exibir os links do menu do cliente.

<c:if test="${sessionScope.sessionCliente != null}"/>
//...links

Não é cadastrado clientes com e-mail igual.
Só quer ter certeza que estou fazendo certo ou que já é suficiente.

Criado 21 de outubro de 2008
Respostas 0
Participantes 1