Sistema de Login Seguro

Galera eu desenvolvi um sistema de login não muito recomendável. Estou usando jsp, servlets e acesso os dados dos usuários através de um banco oracle e estou usando JDBC pra isto. O sistema funciona belezinha, autoriza acesso de quem está cadastrado e tudo mais, o problema é que por exemplo… eu tenho a página login.jsp e ela leva a página logou.jsp só que se o usuário digitar direto na barra de endereço com logou.jsp ele consegue visualizar a página… então oq eu posso fazer usando essas tecnologias q eu estou usando pra resolver esse problema?

Aew ,
Então acho que vc vai ter que trabalhar com session coloca uma session na outra pagina para indentificar se o usuario esta logado ou não!
Ha… se tratando de login tome cuidade com SQLInject…
FLW qualquer duvida poste ai!

Eu pensei numa solução… tipo… em todas as páginas eu uso um jstl pra saber se tem usuário na sessão caso não tenha a página eh redirecionada pra o login… acho q funciona neh…

Em se tratando de identidade do usuário, é importante ter o servidor de banco de dados à parte, respondendo requisições apenas da rede interna. Se possível crie um regra de firewall para não aceitar requisições do tipo ICMP-Echo request vindo da internet, o protocolo ICMP é responsável por permitir o uso do “ping” afim de detectar respostas ao envio de pacotes pela máquina solicitante. :wink:

Eu também fiz desta forma com jstl se vc encontrar uma solução melhor por favor posta ai.

Pessoal, tem uma coisa na especificação de servletes que chama ServletFilter. Por exemplo, vc pode configurar que todas urls dentro da pasta logado(logado/*) devem ser interceptadas pelo filtro. Dentro dele, vc pode fazer sua regra de usuario logado, caso o cara esteja logado permite a continuação, caso contrario não.

Alberto

Acho que utilizando uma variável de sessão funciona.

Quando vc verificar se o login e senha digitado existem no banco…
Se o usuário existir, vc cria uma variável de sessão.
Esta variável ficará disponível para todas as páginas.
Na página que deve ser restrita, vc primeiro testa se existe a variável de sessão.
Se não existir, redireciona para a página de login.
Se existir mostra o conteúdo da página.

Qualquer dúvida, pode falar comigo que eu entro em detalhes.

Use o padrão Intercepting Filter: http://java.sun.com/blueprints/corej2eepatterns/Patterns/InterceptingFilter.html