Session que não funfa! eta nóis denovo :(

13 respostas
Jaison

Olá pessoal, eu tenhu um servlet q valida um administrador, quando retornado true ele cria a session e direciona para a pagina de administração.jsp, a minha pergunta é como eu deve fazer na página administração para saber se o admin está logado, abraço!!!

código da servlet abaixo (criação da session):

if(validaAdministrador(loginAdm,senhaAdm)){
                HttpSession sessaoAdm = request.getSession(true);
                sessaoAdm.setAttribute("sessaoAdm",new String("logado"));
                response.sendRedirect("administracao.jsp?pg=1&monitor=default");
                }else{
                response.sendRedirect("index.jsp");
                javax.swing.JOptionPane.showMessageDialog(null,"Usuário ou senha incorreto");
                }

13 Respostas

C

Olá Jaison.

Olha só na página JSP você pode tentar buscar a sessão e verficar se ela existe, caso afirmativo o usuário está autenticado. Aconselho você a dar uma olhada em frameworks que já fazem isso pra você como o excelente mentawai.

[]'s clodoaldoJR

J

O conterrâneo, explica melhor esse caso novelístico aí.

Acho que você já pode começar a contar as cenas dos próximos capítulos…hehehe

Notei que tens pacote swing aí no teu código. Então a página a que se referes é uma aplicação com swing?

Esclarece aí pra poder entender melhor o causo…

Jaison

ClodoaldoJR:
Olá Jaison.

Olha só na página JSP você pode tentar buscar a sessão e verficar se ela existe, caso afirmativo o usuário está autenticado. Aconselho você a dar uma olhada em frameworks que já fazem isso pra você como o excelente mentawai.

[]'s clodoaldoJR

Você só falou oq eu já sabia, sendo assim vc ainda não responder a minha pergunta!, mas valeu!

Jaison

julianostr:
O conterrâneo, explica melhor esse caso novelístico aí.

Acho que você já pode começar a contar as cenas dos próximos capítulos…hehehe

Notei que tens pacote swing aí no teu código. Então a página a que se referes é uma aplicação com swing?

Esclarece aí pra poder entender melhor o causo…

Daí conterrâneo blz!

Olha só eu tenhu um swing sim, mas isso não vem ao caso… a minha dúvida é sobre session, e não sobre swing… :?

urubatan

Jaison:

Daí conterrâneo blz!

Olha só eu tenhu um swing sim, mas isso não vem ao caso… a minha dúvida é sobre session, e não sobre swing… :?


seguinte:
tenta ser mais educado com o pessoal que ta tentando te ajudar …
e pode começar explicando que asneira é esta que tu fez misturando servlet com swing.
o teu erro é na hora de compilar?
tu sabe a diferença entre uma aplicação desktop e uma aplicação web?
o que exatamente não funciona? ja que o primeiro cara que respondeu na thread ja respondeu a pergunta que tu fez, se tu não entendeu, ou tu presta atenção ou tu explica melhor qual a tua duvida.

Jaison

urubatan:
Jaison:

Daí conterrâneo blz!

Olha só eu tenhu um swing sim, mas isso não vem ao caso… a minha dúvida é sobre session, e não sobre swing… :?


seguinte:
tenta ser mais educado com o pessoal que ta tentando te ajudar …
e pode começar explicando que asneira é esta que tu fez misturando servlet com swing.
o teu erro é na hora de compilar?
tu sabe a diferença entre uma aplicação desktop e uma aplicação web?
o que exatamente não funciona? ja que o primeiro cara que respondeu na thread ja respondeu a pergunta que tu fez, se tu não entendeu, ou tu presta atenção ou tu explica melhor qual a tua duvida.

Amigo,

reformulando a pergunta: eu tenhu um servlet q valida um administrador do sistema certo?, ok! se essa validação retornar true ele cria uma session e encaminha para a página de Admin, caso o contrário ele mostra uma telinha (swing) falando que a senha ou usuário incorretos!!! [b](O fato de usar swing, é ---> APENAS <--- para mostra se o usuário era valido, ou seja pra não ter q usar um out.println() entede? queria ver isso na tela, isso não irá ficar na aplicação quando concluída ok!!! [/b]

Pois bem, minha pergunta é: Como eu vejo na JSP se o usuário ta logado?

abraços, e desculpa qualquer coisa!

L

Não tem mágica, tu vai ter que criar algum mecânismo para controlar os usuários, ou usar algum framework de autenticação já existente.

[]s
Lucas Balensiefer

J

Queres um exemplo básico, sem pensar muito?

Assim como você “criou” em sessão seu usuário, lá no servlet, com os comandos:

HttpSession sessaoAdm = request.getSession(true); sessaoAdm.setAttribute("sessaoAdm",new String("logado"));

Lá no JSP você “lê” esse comando dessa maneira:

<% if (request.getSession().getAttribute("sessaoAdm") != null) out.println("to conectado !!!"); else out.println("deu kaká..") %>

Se não me engano, um cara um tempo atrás estava tentando fazer a mesma coisa e não conseguia de jeito nenhum. Dê uma varrida nas mensagens aí que você talvez encontra a resposta, caso o meu exemplo não funcionar.

Jaison

julianostr:
Queres um exemplo básico, sem pensar muito?

Assim como você “criou” em sessão seu usuário, lá no servlet, com os comandos:

HttpSession sessaoAdm = request.getSession(true); sessaoAdm.setAttribute("sessaoAdm",new String("logado"));

Lá no JSP você “lê” esse comando dessa maneira:

<% if (request.getSession().getAttribute("sessaoAdm") != null) out.println("to conectado !!!"); else out.println("deu kaká..") %>

Se não me engano, um cara um tempo atrás estava tentando fazer a mesma coisa e não conseguia de jeito nenhum. Dê uma varrida nas mensagens aí que você talvez encontra a resposta, caso o meu exemplo não funcionar.

Perfeito! era isso que eu queria saber, valeu juliano!

Jaison

Ok consegui criar minha sessão, agora eu preciso de um botão pra fazer logoff, como eu faço? como que eu destruo essa sessão?

abraços!

urubatan

RTFM: http://java.sun.com/javaee/5/docs/api/ ou então direto só pra ti não dizer que não ajudei: http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpSession.html

se tu quer programar tem que aprender a procurar as coisas, e não ficar sentado esperando alguem do forum responder.

J

Uma das opções é

request.getSession().invalidate()

Agora se você quiser SOMENTE MATAR um atributo específico da sessão é

request.getSession().removeAttribute("sessaoAdm")
B

Esse esquema de verificar em cada pg se o cara tá logado é mau.

Use um intercepting filter que o código fica em um lugar só.

Criado 27 de junho de 2006
Ultima resposta 27 de jun. de 2006
Respostas 13
Participantes 6