Duvida login

Por exemplo. minha tela index.jsp e a que vem com login e senha para o usuario entrar… ai se o login tiver certo entra blz e vai pra cadastrarNome.jsp.

entao fica… http://localhost:8080/porj/index.jsp

mas se o usuario digita na mao http://localhost:8080/porj/cadastrarNome.jsp ele entra direto na pagina sem verificar o login. como isso pode ser corrigido??? valeu

obs: struts + hibernate

pois eh. foi o que pensei. vc tem um exemplozinho ai so pra eu começar aqui

Você tem que verificar se o usuário está logado ou não. Com o Mentawai isso é bem simples:

http://www.mentaframework.org/authorization.jsp

Um abraço!

Um exemplo com sessão:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page isELIgnored="false"%>
<c:if test="${empty codigoUsuario}">
	<script>
		alert("Para acessar o sistema é preciso estár logado");
		location.href='Index.jsp';
	</script>
</c:if>

Quando vc loga joga esse valor na sessão:

sessao.setAttribute("codigoUsuario",bolao.getCodigoUsuario(request.getParameter("usuario")));

Olá, tbm estou precisando fazer isso em uma aplicação que estou desenvolvendo.

No caso de usar session tenho que ficar conferindo (atravéz de if dentro do jsp) em todos arquivos da minha aplicação se a sessão existe?

Obrigado

Boa Tarde,
estou tendo um problema com o acesso ao banco de dados.

<html>
<head>
<title>Login Universitario</title>
</head>
<%@ page import="java.sql.*"%>
<body>
<%
String cod,id_ra,nascimento;

cod=request.getParameter("cod");
id_ra=request.getParameter("id_ra");
nascimento=request.getParameter("nascimento");


//Passo1: Carregar o Driver JDBC
Class.forName("com.mysql.jdbc.Driver").newInstance();

//Passo2: Criar um objeto para Conexao
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/integracao","root","");

//Passo3: Criar um objeto para execucao de consultas
Statement s=con.createStatement();

//Passo4: consulta banco
ResultSet rs=s.executeQuery("select cod,id_ra,nascimento from alunos where cod=1 and id_ra="+id_ra+" and nascimento="+nascimento+"" );

while(rs.next())
{
cod=rs.getString(1);
id_ra=rs.getString(2);
nascimento=rs.getString(3);
}

if(cod.equals(cod) && id_ra.equals(id_ra) && nascimento.equals(nascimento))
{
out.println("Universitario logado com sucesso!!!");
session.putValue("Login_Universitario", id_ra);
session.putValue("Senha_Universitario", nascimento);
}
else
{
out.println("Login ou senha inválidos!!");
}

%>
</body>
</html>

eu nao sei o que esta acontecendo, ele mostra esse codigo:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NullPointerException
org.apache.jsp.teste_005fsession.login_005funiversitario_jsp._jspService(login_005funiversitari
o_jsp.java:76)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

Desde ja agradeco a ajuda!

Trabalhe com session(sessao) !!