Request no login

11 respostas
C

Quando está logado e clica em “encerrar sessao”, direciona para outra pagina, mas se logo que encerrar clicar em “back”, ele pega o login e a senha que está no request e reconecta ao banco. Não adianta limpar o cache e a sessao já está destruida, e com os dados do request ele valida o login e senha novamente e cria outra sessao. e deixa o usuario logado.

Tem como arrumar isso?

Uma solucao que estou tentando, para ver se funciona é. Criar uma classe que só pega o login e cria uma sessao, e outra que só pega a senha e a sessao e verifica no banco, para que o request nao fique com os dois campos (Login e Senha) para que quando voltar ele nao reconecte. Mas ainda nao sei que dá certo, gostaria de saber se alguem tem alguma solucao?

Obrigado,
Chari

11 Respostas

E

eae blz?

mano tenhu uma sugestaum a lah gambit

tipow vc carrega a sua sessão apos em algum momento vc ter pego o login e senha o usuário em alguma pagina

bom a ideia é o seguinte, vc nesse momento ao pegar os dados
realiza a conexão e caso tudo ocorra certo e o usuário se conecte no sistema

agora a ideia

vc carrega uma variável de sessão ( um flag ) que vai indicar que ele estah logado no sistema, com isso nas suas paginas vc faz a verificação desse flag.

assim quando o usuário clicar em encerrar/desconectar algo do genero
vc mude esse flag indicando que o mesmo fez logoff do sistema

assim caso ele clique em “BACK”, a sua pagina vai verificar o flag e vendo que o usuário fez o logoff, vc redireciona pra alguma pagina do tipo
que exibe uma mensagem…

Usuário deslogado do sistema.

ou

Usuário desconectado.

oq tu acha da ideia :?:

:wink:

[]'s
Erko Bridee

D

fala cara…
como agente tava conversando no outro tópico eu acho q vc ta fazendo uma arquitetura um tanto estranha… veja meu ultimo post no outro tópico…

mas se mesmo assim, nao der certo… tenta destruir o parametro.

request.removeAttribute("nomeDoAtributo");

nao sei se é bem isso o código… mas tenta aí…

mas, novamente frisando, reveja sua arquitetura… dê uma olhada no meu ultimo post daquele tópico q agente tava conversando…
se a página nao está sendo cacheada e a sessão está inválidada, nao tem como o usuário “permanecer logado”
só se vc nao verifica nas páginas se a sessão está aberta ou nao… aí o cara nao precisa nem fazer login pra acessar o sistema! hehehe…

flw
abraços

R

Realmente, eu tb acho muito estranho…

Verifique realmente se a session esta removendo o atributo…

C

eu fecho a sessao e removo os atributos, mas continua na mesma.

Eu já uso uma variavel logado, que pode ser true ou false, que é verificada nas outras paginas quando é aberta, mas mesmo assim ele destroi a sessao, muda para false o logado e remove o login e senha, mas quando clica em back ele pega o login e senha do request e cria uma nova sessao e muda o logado para true.

Chari

D

vc está passando os dados de login e senha por URL?
tipo: http://www.seuserver.com.br:8080/Login?user=daniel&senha=daniel
???
pq se for isso, está errado, ao dar um BACK, ele vai pegar de novo nome e senha…

o ideial é passar pelo forumário html…
com um botao submit e tal…

se estiver passsando os dados de login por URL, nao vai funcionar mesmo…
mas se vc ja passa os parametros por form action=‘login’ method=‘post’ do html, aí é sua arquitetura q está errada mesmo…

como q vc ta passando os dados de login (nome e senha) pro servelt processador de login?

abraços

C

estou passando do metodo post mesmo, mas aparece na url em cima, com eu teria que passar? por bean?

Vlw a ajuda DanielBadawi
Chari

D

“Chari”:
estou passando do metodo post mesmo, mas aparece na url em cima, com eu teria que passar? por bean?

Vlw a ajuda DanielBadawi
Chari

fala! blz?

vc ta passando pro formulário (form) e mesmo assim aparece na URL o user e senha?

posta essa parte do seu código aí… estranho isso…
pq qdo se passa pro formulário, nao aparecem os campos na URL…

flw!
abraços!

C
struts-config.xml
- <action-mappings>
- <action path="/Login" type="br.com.usialto.action.ValidaLogin" input="/error.jsp" scope="Session">
  <forward name="sucesso" path="/principal_logado.jsp" /> 
  </action>
- <action path="/FecharSessao" type="br.com.usialto.action.FecharSessao" input="/principal_cert.jsp" scope="Session">
  <forward name="sucesso" path="/index.jsp" /> 
  </action>
  </action-mappings>

vê se o struts está errado,

Obrigado
Chari

C

o login e a senha é passado pelo metodo POST e pelo metodo GET, e acontece a mesma coisa.

O problema possivelmente é no struts-config, eu acho que nao está direcionando direito. quando clica em “back” ele volta para area de logado.

Não deveria voltar para o login, já q a sessao está encerrada???

Chari

D

puts! eu so um cocozão :lol: pra Struts!!

mas pelo meu ridiculo conhecimento de Struts, parece q essa parte ta tudo certo…

talvez o Servlet q valida o login ta fazendo um forward errado… por isso ta aparecendo os dados na URL… aí se der, BACK vai re-fazer o login…

flw!
abraços!

C

Como eu corrigo o forward?
Como eu devo fazer o forward para que nao apareça na URL?

Obrigado,
Chari

Criado 14 de setembro de 2004
Ultima resposta 14 de set. de 2004
Respostas 11
Participantes 4