Olá, gostaria de saber como fazer uma sessão de login, onde depois que a pessoa loga no site (Login e Senha), ela permaneça conectada.
Gostaria de saber também como deslogar e também como fazer para que o usuário compre um produto somente quando ele estiver logado no site.
Eu fiz varios testes, mas não funciona, eu preciso de ajuda urgentemente, agradeço a ajuda de vocês
Mostre o código e ajudaremos nas duvidas e correção de erros.
Eu não possuo o código, gostaria de saber como é feito. Porque eu possuo um modal de login e queria que, ao ser clicado, aberto e acessado, o usuário entra na sessão, e que tenha a opção de sair da sessão caso ele queira. Eu posso passar o código do meu modal, mas é tudo que eu vou poder mandar.
Eu tenho esse código
DAO pra pegar usuario cadastrado
public Usuario logarUsuario(String username, String password) throws SQLException{
Connection conn = Conexao.getInstance();
PreparedStatement ps = null;
ResultSet result = null;
Usuario usuario = null;
try{
String sql = "SELECT id, username, password FROM tb_usuario WHERE username=? AND password=?";
ps = conn.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, password);
result = ps.executeQuery();
if(result.next()){
usuario = new Usuario();
usuario.setId(result.getLong("id"));
usuario.setUsername(result.getString("username"));
usuario.setPassword(result.getString("password"));
}
} catch(Exception e){
e.printStackTrace();
} finally{
if(ps!= null){
ps.close();
}
if(result != null){
result.close();
}
}
return usuario;
}
Criando a sessão
HttpSession session = request.getSession();
UsuarioDao usuarioDao = new UsuarioDao();
String username = "username";
String password = "password"; // Não estou gerando hash porque é só pra mostrar a idéia
Usuario usuario = usuarioDao.logarUsuario(username, password);
session.setAttribute("usuario", usuario);
Recuperando a sessão
HttpSession session = request.getSession();
Usuario usuario = (Usuario) session.getAttribute("usuario");
Pessoal, eu consegui fazer a sessão com a ajuda de vocês, mas se você voltar a página, a sessão continua. O que eu faço?
a session só vai ser anulada quando ela for invalidada
session.invalidate();
Espero ter ajudado
Então eu coloquei o session.invalidate(); e chega a encerrar a sessão, mas se você aperta o botão de voltar do navegador a sessão volta a ficar ativa.
vc terá q ter um filtro no seu sistema
http://www.devmedia.com.br/trabalhando-com-sessao-e-filter-em-jsf/32358
Nesse artigo que você me passou está em JSF, mas eu to fazendo e precisando na linguagem JSP.