Redirecionamento VRaptor Apos validação login [RESOLVIDO]  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
thiefofwisdom
JavaBaby

Membro desde: 03/09/2009 14:39:44
Mensagens: 99
Localização: Sao Paulo
Offline

Olá pessoal,

Gostaria de saber como deixar que o usuario acesse a pagina que queria acessar apos fazer o login.

Por ex : User tenta editar um produto. > Sistema intercepta e pede para ele fazer login. > Sistema manda ele para a pagina de edicao de produto

Só q eu queria isso generico.. nao configurando no propreties. Queria q o sistema o enviasse sempre pra onde ele queria acessar.

Obrigado!

This message was edited 1 time. Last update was at 10/12/2009 15:33:13


_______THIEF_______
[Email] [MSN]
garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

A maneira mais correta é usar JAAS. O Java já provê uma forma automatizada de fazer controle de acesso via JAAS.

Porém se você quiser deixar isso a cargo do vraptor você pode criar uma entidade usuário com os dados que você precisa e um interceptor que intercepte as requições que você quer e valide o login.



This message was edited 1 time. Last update was at 09/12/2009 12:16:59

thiefofwisdom
JavaBaby

Membro desde: 03/09/2009 14:39:44
Mensagens: 99
Localização: Sao Paulo
Offline

Po cara.. valeu pela dica mas nao entendi direito...
Na verdade acho que oque eu queria fazer é mais facil do que parece...
Só queria dar um jeito de salvar pra onde o usuario estava indo antes de cair no interceptor...
A parte dele poder ou nao entrar eu ja estou sabendo fazer... ja tenho a logica e tudo mais... so quero saber exatamente na logica em que eu valido o usuario, como deixar ele prosseguir para a tela que ele tentava acessar...

esta funcionando assim :

user clica no link > link precisa de validacao para ser acessado > sistema obriga o user a se logar > sistema direciona o user para pagina inicial, e nao para a tela que ele tentou acessar... e esse é o meu problema...

sera q vc nao me entendeu ou eu nao te entendi? ehhehee
de qualquer forma, obrigado pela ajuda!


_______THIEF_______
[Email] [MSN]
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

eu também estou querendo fazer isto.

alguém sabe?

Ricardo Soares
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

Bom, dá pra fazer um jeito que só funciona com requisições GET (pra POST é melhor que o cara preencha o formulário de novo mesmo)

no seu interceptor/filtro de autenticação, vc guarda a URI que o cara tá tentando acessar (precisa do HttpServletRequest):
se deu erro de autenticação:

qdo logar:


se vc quiser os parâmetros tb, vc tem que montar a URI com os parâmetros meio que na mão...

--
Caelum
www.caelum.com.br

garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

thiefofwisdom, realmente acho que entendi errado, heheheheh. Mas a dica do Lucas resolve isso.

Abraços
ricardosoares
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 09:49:13
Mensagens: 318
Localização: São Paulo, SP, Brasil
Offline

valeu Lucas!

a idéia de guardar a URI na session é melhor do a que eu tinha tido: invocar o metodo login do controller passando a URI como parâmetro (na verdade, nem sei se ida dar certo, rsss).

a propósito, alguém aí já tem algo pronto ou idéia concebida para o recurso de "[] remember me" ?
bem... talvez o assunto seja caso de novo tópico.

abraços

Ricardo Soares
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

vc precisa adicionar cookies com duração grande... e na hora de logar, ler esses cookies...

--
Caelum
www.caelum.com.br

thiefofwisdom
JavaBaby

Membro desde: 03/09/2009 14:39:44
Mensagens: 99
Localização: Sao Paulo
Offline

Oi Lucas!

Entao cara... eu tinha tido exatamente essa ideia... so q acheio meio "gambiarra" mas acaba q no final fica facil de implementar...
Agora estou tendo o seguinte problema :
na hora de redirecionar, apos validar o login do usuario, nao consigo...

Estou tentabndo com o seguinte codigo...



nao funciona.... coloquei ali ate fixo como vcs podem ver, mas nao rola.... ele fica na mesma pagina...
o unico jeito q ele mandou pra outra pagina foi quando eu coloquei "/user/list.ok.jsp"
ow seja... o endereço fisico mesmo...
mas ai é looogico q ele pulou minha logica inteira e carregou uma lista vazia...

alguem sabe oq pode ser?

This message was edited 1 time. Last update was at 10/12/2009 15:09:29


_______THIEF_______
[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

usa ao invés do requestDispatcher:


e atualiza a versão do vraptor
http://vraptor.caelum.com.br/documentacao/migrando-do-vraptor2-para-o-vraptor3/

--
Caelum
www.caelum.com.br

garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

O remember-me é uma opção um pouco perigosa. Há duas opções de remember: apenas do login do usuário ou aquele que você mantém o cara sempre autenticado. Essa segunda eu não aconselho não, pois sabe como usuário é... sempre muito desleixado.

Se você quiser lembrar apenas o login do usuário a única opção mesmo é via cookie. Em um sistema meu eu deixava um cookie chamado remember_username com o valor do username dele. Quando o usuário fizer login eu verifico se remember=true e salvo no cookie o valor do username. E no JSP onde eu tenho o campo eu imprimia o valor do cookie. Bem simples.

Se você quiser manter o usuário sempre conectado o que você precisa fazer é guardar um cookie com algum hash que não permita ser burlado. Uma boa opção é guardar um MD5 concatenando o login do usuário, a senha e um código fixo teu. Aí você guarda um cookie com login e outro com esse hash. Quando o usuário entrar no sistema você valida o usuário, bate o hash com login + senha + fixo e autentica ou não.

Esse segundo é mais complicado, hehehe.

Abraços
garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

lucascs wrote:usa ao invés do requestDispatcher:


e atualiza a versão do vraptor
http://vraptor.caelum.com.br/documentacao/migrando-do-vraptor2-para-o-vraptor3/


OMG, agora ví que ele usa vraptor2. Hehehehe. O ideal é colocar sempre nos tópicos avisando a versão.

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
thiefofwisdom
JavaBaby

Membro desde: 03/09/2009 14:39:44
Mensagens: 99
Localização: Sao Paulo
Offline

po lucas.... desculpa ae... mas nao tem como eu fazer isso agora...
como prometi antes, quando eu terminar meu tcc eu vou passar pro 3 e postar o prjetinho aqui pro pessoal baixar...

e arrr..... acho q vc quis dizer response né?

deu certo cara... valeu demais...
vo colocar como resolvido no topico..

_______THIEF_______
[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

isso, response
sempre confundo, ainda bem que o eclipse me chinga qdo eu faço isso

e tranquilo, não precisa fazer agora... mas o 3 é (bem) melhor que o 2, e migrar é fácil

[]'s

--
Caelum
www.caelum.com.br

thiefofwisdom
JavaBaby

Membro desde: 03/09/2009 14:39:44
Mensagens: 99
Localização: Sao Paulo
Offline

eu imagino.... só pra saber, ja tem tutorial do e-commecre ou algum outro projeto com o vraptor 3?
seria legal se vcs implementassem um diferente dessa vez caso ja nao o tenham feito!

Abração

_______THIEF_______
[Email] [MSN]
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team