Autenticação utilizando MVC

4 respostas
L

Galera,
fiz uma autenticação usando MVC , aí vai o código do modelo:

public synchronized boolean fazLogin(Contato c) {

Conexao con = new Conexao();
		Connection conn = con.retornaConexao();
	
		if (conn != null) {
		
		   try {    						
					PreparedStatement ps = conn.prepareStatement("SELECT UserName, Pass FROM administradores WHERE UserName=? AND Pass=?");   
					ps.setString(1, c.getUserName());
					ps.setString(2, c.getPass());
					ResultSet rs = ps.executeQuery();    
			if(rs.isBeforeFirst()) 
				  { 
					 return true; 
				  } 
				  else 
				  { 
					 return false; 
				  } 
       		    		                    		    		
				
						    		
		   } catch (SQLException e) {
       	
			   System.out.println(e.getMessage());
       	       
		   }
		}
	return false;
	
	}

Utilizo uma página de login em JSP comum, onde o usuário digita o login e senha, e uma página de confirmação de login onde vai o seguinte código:

<%@ page import=“modelo.Modelo”%>
<%@ page import=“contato.Contato”%>

<html>
<head>
</head>
<body>
<br>

&lt;%
	   Modelo modelo = new Modelo();
	   Contato c = new Contato();
	   
		c.setUserName(request.getParameter("userName"));
		c.setPass(request.getParameter("pass"));
	   boolean msg = modelo.fazLogin(c);
	
    %&gt;





&lt;br&gt;
  
&lt;%
	if(msg = true){
		%&gt;&lt;h1&gt;Logado&lt;/h1&gt;&lt;%
	}
	else {
		%&gt;&lt;h1&gt;Senha ou Login errado&lt;/h1&gt;&lt;%
	}
%&gt;

&lt;br&gt;
&lt;br&gt;
&lt;br&gt;


&lt;/body&gt;

</html>

Mas esta minha autenticação da errada, qualquer coisa que digito, da “usuario logado” bom, o MVC funciona corretamente pois uso o mesmo para Cadastro e Consulta e está funcionando, o problema está ou no código da página de confirmação ou no método fazLogin, alguem pode ajudar???

4 Respostas

J

troque:

if&#40;rs.isBeforeFirst&#40;&#41;&#41; 
&#123; 
return true; 
&#125; 
else 
&#123; 
return false; 
&#125;

por

if&#40;rs.next&#40;&#41;&#41; 
&#123; 
return true; 
&#125; 
else 
&#123; 
return false; 
&#125;

[]'s

L

Não deu certo não, continua a mesma coisa, toda vez que insiro os dados, da sempre logado, até o que não tem no banco de dados, tem alguma coisa errada no código, quem souber posta aí =)

F

Luciano,

só para constar, o seu código não é MVC. A sua camada View está fazendo papel de View e de Control ao mesmo tempo.

Sobre o erro no programa eu também diria o mesmo que foi dito na outra resposta. Tenta depurar o que está vindo neste ResultSet…

L

os dados estão vindo perfeitos, acho que o problema todo está nesse método mesmo, os outros eu que fiz, mas esse peguei aqui no PJ.

Criado 6 de janeiro de 2005
Ultima resposta 6 de jan. de 2005
Respostas 4
Participantes 3