publicbooleanvalidarUsuario(Stringlogin,Stringsenha)throwsSQLException{
Connectioncon=conexao.getConnection();Stringsql="SELECT login,senha from usuario where login ='"+login+"' and senha ='"+senha+"';";Statementst=con.createStatement();ResultSetrs=st.executeQuery(sql);if(rs!=null){
returntrue;}
returnfalse;}
outra coisa, seu codigo tem uma falha de seguranca, use PreparedStatement ao inves de Statement.
[]'s
Ainda continua indo para a página exibir mesmo o usuário não existindo
Como eu usaria o PreparedStatement em um select?
RicardoFranca
Olá colegas, será que nesse caso seria interessante ele já aproveitar essa autenticação e já adicionar o objeto desse usuário à sessão? Ao invés de somente o login? :roll:
mauricioadl
String senha = "senhaSuperSecreta";
String nome = "mauricioadl";
ps = con.prepareStatement("SELECT nome, senha FROM usuarios WHERE nome = ? AND senha = ?");
ps.setString(1, nome);
ps.setString(2, senha);
ResultSet rs = ps.executeQuery();
return rs.next() ? true : false;
mauricioadl
com certeza!
kvnallen
RicardoFranca:
Olá colegas, será que nesse caso seria interessante ele já aproveitar essa autenticação e já adicionar o objeto desse usuário à sessão? Ao invés de somente o login? :roll:
public Usuario(String login, String senha){
this.setLogin(login);
this.setSenha(senha);
}
E os métodos get/set.
Fiz certo? Se sim, como eu faria se quisesse recuperar o login da sessão?
Ah , desculpa a ignorância, mas poderia me explicar essa parte
returnrs.next()?true:false;
?
RicardoFranca
com certeza!
Opa! Vlw mauricioad.
Pois é, kvnallen. O que acha de implementar dessa forma?
Acredito que posteriormente vai ficar bem melhor para acessar outras informações desse usuário, utilizando a sessão.
Nicolas_Fernandes
Como você quer o objeto na Sessão, eu faria diferente:
1. Criaria o método, na classe DAO, de consultar um usuário por critérios de pesquisa:
2. Criaria uma classe de Serviços e ofereceria o serviço de validar o usuário no sistema:
publicclassServicosUsuario{publicUsuariovalidarUsuario(Stringnome,Stringsenha)throwsSQLException{StringsentencaSQL=String.format("SELECT * FROM USUARIOS WHERE NOME LIKE '%%s%' AND SENHA LIKE '%%s%'",usuario,senha);UsuarioDAOusuarioDAO=newUsuarioDAO();returnusuarioDAO.recuperarUnicoPorCriteria(sentencaSQL);}}
3. No seu Servlet...
Stringusuario=request.getParameter("usuario");Stringsenha=request.getParameter("senha");ServicosUsuarioservicosUsuario=newServicosUsuario();UsuarioentidadeUsuario=servicosUsuario.validarUsuario(usuario,senha);if(entidadeUsuario!=null){// faz o que quiser...}else{// exibe a mensagem de erro..}
Que tal assim?
Espero ter ajudado,
fique com Deus! :D
kvnallen
Nicolas Fernandes:
Como você quer o objeto na Sessão, eu faria diferente:
1. Criaria o método, na classe DAO, de consultar um usuário por critérios de pesquisa:
2. Criaria uma classe de Serviços e ofereceria o serviço de validar o usuário no sistema:
publicclassServicosUsuario{publicUsuariovalidarUsuario(Stringnome,Stringsenha)throwsSQLException{StringsentencaSQL=String.format("SELECT * FROM USUARIOS WHERE NOME LIKE '%%s%' AND SENHA LIKE '%%s%'",usuario,senha);UsuarioDAOusuarioDAO=newUsuarioDAO();returnusuarioDAO.recuperarUnicoPorCriteria(sentencaSQL);}}
3. No seu Servlet...
Stringusuario=request.getParameter("usuario");Stringsenha=request.getParameter("senha");ServicosUsuarioservicosUsuario=newServicosUsuario();UsuarioentidadeUsuario=servicosUsuario.validarUsuario(usuario,senha);if(entidadeUsuario!=null){// faz o que quiser...}else{// exibe a mensagem de erro..}
Que tal assim?
Espero ter ajudado,
fique com Deus! :D
Você é muito fera, mas ainda não tenho essa experiência toda que nem você, ainda estou engatinhando em comparação aos seus códigos.
Fico até doidinho ahuahuaha.
Eu sempre procuro entender em vez de apenas copiar e colar ^^