duvida no servlet.Filter ?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
dijava
JavaGuru
[Avatar]

Membro desde: 02/11/2009 14:04:14
Mensagens: 204
Localização: RJ
Offline

pessoal alguem pode me dar um ajuda com filter, eu tenho um filter que é


ou seja qualquer pagina direcionada vai passar pelo meu filtro. esse filtro ve se o cara esta logado ou nao caso nao esteja ele redireciona para a pagina de login

ai q esta o problema pq qnd eu redireciono para o login ele entra na condicao q esta na <url-pattern> q no caso é '*' ocasionando um loop infinito !
é possivel eu colocar uma excecao no <filter-mapping> para justamente burlar esse problema ?
dijava
JavaGuru
[Avatar]

Membro desde: 02/11/2009 14:04:14
Mensagens: 204
Localização: RJ
Offline

e ai alguem pode me ajudar com isso ?
Tiago Farias
JavaChild
[Avatar]

Membro desde: 24/02/2008 16:18:39
Mensagens: 109
Localização: Recife-PE
Offline

Essa é dureza. Não. Não existe match exclusivo pra a tag filter-mapping. Infelizmente. Vc pode incluir urls através de expressões regulares básicas, mas não tem como excluir algumas através do xml. Por outro lado, vc pode evitar algumas das urls via código. Teoricamente, é ruim fazer isso, pq vc meio q contraria o seu web.xml, dizendo q ele faz uma coisa, qd por debaixo dos panos ele faz outra. Mas realmente não sei outra solução pra isso. =/

SCJP 6
SCWCD 5
Bacharel em Ciência da Computação - UFPE
http://tiagodev.wordpress.com


- What does a insomniac, agnostic and dislexic man do at night?
- He contemplates about the existence of an All-Mighty Dog.
Tiago Farias
JavaChild
[Avatar]

Membro desde: 24/02/2008 16:18:39
Mensagens: 109
Localização: Recife-PE
Offline

Pensando bem... isso é interessante:

tuh pode criar outro Filter mapeado com a url da tua página de login. Daí, esse filtro novo seria chamado imediatamente antes do teu filtro de verificar se o usuário tá logado. Quando fosse detectado q a tua página de login está sendo chamada, o filtro novo poderia setar um atributo qualquer no request e chamar o próximo filtro(o que checa se o usuário tá logado). O teu filtro de acesso verificaria se o atributo existe no request e, caso exista, ele simplesmente chama o chain.doFilter(), pulando a execução do filtro de acesso. Deu pra sacar a idéia?

[]s.

SCJP 6
SCWCD 5
Bacharel em Ciência da Computação - UFPE
http://tiagodev.wordpress.com


- What does a insomniac, agnostic and dislexic man do at night?
- He contemplates about the existence of an All-Mighty Dog.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team