|
Caros colegas, a pouco tempo desenvolvi uma
aplica��o para Web em JSP e HSQLDB, a aplica��o est� funcionando normalmente,
mas a pouco tempo tive que criar um sistema de valida��o de senha, o sistema
est� funcionando, validando normal. Eu criei um arquivo chamado
"ValidaLogin.jsp", ele tem toda a regra de valida��o, quando o usu�rio �
validado no banco de dados, ele pega informa��es do banco e armazena numa
vari�vel de "Sess�o", e quando n�o � validado no banco, as vari�veis de "Sess�o"
n�o setadas para "null" e "false", e foi tamb�m inserido em cada p�gina jsp, uma
rotina de valida��o, para que o usu�rio n�o entre em locais restritos. O meu
problema � que se o usu�rio tenta entrar em uma p�gina quando n�o estiver
logado, ele recebe uma mensagem JasperException, mas se ele tenta logar e n�o
obtem sucesso e depois tenta entrar em alguma p�gina ele recebe mensagem
informando que ele deve primeiramente efetuar o login para prosseguir no uso das
p�ginas. O problema �, porque quando ele tenta logar e o login ou senha est�
inv�lido, e ele tenta entrar em alguma p�gina restrita e ele recebe a mensagem
informando que ele deve efetuar o login, e quando ele n�o tenta efetuar o login
e vai direto � alguma p�gina ele recebe uma exce��o JasperException? Veja abaixo
minha aplica��o:
Obrigado a Todos.
Halex Maciel
Cuiab�-MT
Minha p�gina
"ValidaLogin.jsp":
<%@ page import="java.sql.*" %>
<%@ page import="javax.servlet.http.*" %> <% // //Processo de Valida��o de login // //Pega os parametros do formul�rio de solicita��o de login String stremail = request.getParameter("txtemail"); String strsenha = request.getParameter("txtsenha"); String mensagem = ""; //
try { //Cria a instancia do banco de dados Class.forName("org.hsqldb.jdbcDriver"); } catch (Exception e){ mensagem += "Classe do banco de dados n�o foi localizada" + e; } try
{
//Cria a conex�o com o banco de dados Connection Conn = DriverManager.getConnection ("jdbc:hsqldb:hsql://localhost:8887:dblabfic","sa",""); Statement stmt = Conn.createStatement();
//Executa a consulta
String sql = "SELECT * From Pessoas WHERE email = '" + stremail + "' AND senha='" + strsenha + "'"; ResultSet rs = stmt.executeQuery(sql); if (rs.next()) { int Tipo = rs.getInt("direito"); //Redireciona baseado nos direitos de usu�rio if (Tipo == 1) { session.setAttribute("EstaLogado","true"); session.setAttribute("eAdmin","true"); session.setAttribute("msg","Logado"); response.sendRedirect("Admin/administracao.jsp"); } else { session.setAttribute("EstaLogado","true"); session.setAttribute("eAdmin","false"); session.setAttribute("msg","Logado"); response.sendRedirect("index2.jsp"); } } //Caso o login venha falhar ou login inv�lido else { session.setAttribute("msg","Login ou senha inv�lido!"); session.setAttribute("EstaLogado","false"); session.setAttribute("eAdmin","false"); response.sendRedirect("index.jsp?msg=Login%20ou%20Senha%20Inv�lido"); } } catch (SQLException ex) { mensagem += "Problemas com SQL" + ex; } %> Este � o cabe�alho de todas as p�ginas
restritas:
<%
// Verifica session se � nula, caso seja
redireciona para p�gina de login com parametro de mensagem
if (session.getAttribute("EstaLogado") == null) response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login."); else { // Verifica o conte�do � falso ou verdadeiro, se verdadeiro ele habilita navega��o na p�gina String logado = session.getAttribute("EstaLogado").toString(); if (!(logado == "true")) response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login."); } %> |
