Oi, estou fazendo uma autorização via login, eu pego da pagina HTML pelo request e entro na pagina jsp. mas quando eu invalido a sessao ele se eu der um reload na pagina jsp que tem a sessao aberta ela loga de novo ela busca o que está digitano nos campos do request.
isso faz q as páginas nao sejam gravadas no cache do cliente, exigendo uma nova leitura no servidor a cada load… aí se a sessão nao estiver mais aberta, o usuário nao vai mais ter acesso a página…
Essa parte de limpar o cache é só para servidores proxy, aki nao é.
eu precisava é limpar a sessao, para que depois de eu clicar no link de “encerrar sessao” ele direciona para a pagina principal sem estar logado, e se eu clico em “back” no meu browser ele volta onde já está logado.
tudo inicialmente é feito em HTML e logo depois de logar ele chama a uma pagina jsp, que é onde tem o link “encerrar sessao” que depois de clicar em “back” no browser ele retorna mesmo depois de encerrar a sessao.
Essa parte de limpar o cache é só para servidores proxy, aki nao é.
eu precisava é limpar a sessao, para que depois de eu clicar no link de “encerrar sessao” ele direciona para a pagina principal sem estar logado, e se eu clico em “back” no meu browser ele volta onde já está logado.
Obrigado,
CHari[/quote]
nao nao…
ele nao grava cache em HTTP 1.1, 1.0 e tb qdo usa proxy…
coloque isso na página q vc nao quer q seja recarregada qdo o usuário der Back
mas o request, ele só pega a 2 backs! hehehe…
pq tipo assim:
PAGINA EXIGINDO LOGIN > PROCESSADOR DE LOGIN > PAGINA DE ENTRADA
vc ta falando q depois do cara ter dado Logoff se vc der um back, ele pega de novo os parametros?
entao ta estranho a arquitetura do seu projeto… hehhee…
pq o back ia voltar pro PROCESSADOR DE LOGIN q só pega os parametros da PAGINA EXIGINDO LOGIN… se vc tava na PAGINA DE ENTRADA, nao tem como o PROCESSADOR DO LOGIN pegar os parametros…
o ideal é vc ter o seguinte…
:arrow: 1 - JSP sendo a PAGINA EXIGINDO LOGIN… q passa os parametros pra um…
:arrow: 2 - … um Servlet (PROCESSADOR DE LOGIN) q verifica se os parametros estão tudo ok, e faz o login, abrindo a sessão… e logo da um forward para a…
:arrow: 3 - … PAGINA DE ENTRADA… que verifica se a sessão está aberta, caso contrário, manda de novo para a PAGINA DE LOGIN. se tudo estiver ok, a página é exibida. (obs. essa página nao pode ser armazenada em cache, use aquelas 3 linhas pra evitar o cacheamento)
:arrow: 4- para fazer o Logoff, vc manda um parametro de Logoff para o servlet PROCESSADOR DE LOGIN, q invalida toda a sessão e da um forward para uma página de saída do sistema.
e pronto!
tudo funciona perfeito…
lembre-se q todas as páginas do sistema nao poderao ser cacheadas, entao use as 3 linhas para nao cachear… e tb todas as páginas devem verificar antes de tudo se a sessão está aberta, caso contrário, redireciona para a página de login.
bom… isso deve funcionar…
qualquer dúvida, posta aí!
Ola pessoal.
Eu estava com o mesmo problema do colega acima só que eu coloquei as 3 linhas lá que não deixam cachear nada. E fiz exatamente como recomendaram aí. Tela de login >> servlet que verifica login >> tela dentro do sistema. O meu problema é que quando eu volto na página logada denovo depois de ter deslogado aparece uma página em branco com o titulo ‘Sessão Expirou’ ou alguma coisa parecida. Não é pra mostrar isso. Alguem sabe por que as vezes aparece esta tela e como se resolve isso?