| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2008 08:26:58
|
maurenginaldo
JavaEvangelist
![[Avatar]](/images/avatar/d82d678e9583c1f5f283ec56fbf1abb7.png)
Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline
|
Oi pessoal, tirem-me uma dúvida:
Utilizo Servlet Filter nas minhas aplicações Jsf para fazer o controle de segurança através de acesso a url's.
Li alguma coisa sobre PhaseListener, mas não entendi a fundo suas aplicações e utilidades.
Pergunta?
Qual a função e aplicação do PhaseListener? Tem alguma coisa a ver com Servlet Filter?
Obrigado a todos.
|
Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2008 09:50:04
|
breffo
JavaChild
![[Avatar]](/images/avatar/83dc55aeb13cc9f621dcbaa80304d506.jpg)
Membro desde: 18/07/2005 15:55:53
Mensagens: 102
Localização: Goiânia
Offline
|
fala Sr tudo tranquilo ??, cara não sei se já conseguiu resposta pra tua pergunta, teu tópico e antigo mais mesmo assim vou dar um palpite ...o tal do PhaseListener é uma interface disponibilizada no JSF que permite monitorar todas as fases do ciclo de vida da aplicação. É como se fosse um Filter no entanto o Filter é invocado a cada requisição e o PhaseListener voce pode indicar o "ID" da fase em que esse objeto vai ser executado ..inclusive indicando se a execução desse objeto deve ser realizada antes (beforePhase) ou depois (afterPhase) da execução da fase em questão ...por exemplo, pra validar a existencia de um usuário autenticado vc pode implementar um PhaseListener que deverá ser chamado na fase PhaseId.RESTORE_VIEW e dentro do método afterPhase vc valida se existe um usuário no SESSION ...eu utilizava Filter, mais o PhaseListener na minha opinião é melhor, boa sorte !!.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2008 11:48:42
|
maurenginaldo
JavaEvangelist
![[Avatar]](/images/avatar/d82d678e9583c1f5f283ec56fbf1abb7.png)
Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline
|
E aí, blz!!!
Primeiramente obrigado pela resposta.
Bom, ainda estou usando Servlet Filter, acabei por não aprofundando no Phase Listener. Com suas palavras pude compreender um pouco melhor. Se vc tiver um exemplo de autenticação do usuário com Phase Listener e puder me passar, seria ótimo, enquanto isso vou pesquisando.
De toda forma, valeu.
|
Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2008 11:54:10
|
breffo
JavaChild
![[Avatar]](/images/avatar/83dc55aeb13cc9f621dcbaa80304d506.jpg)
Membro desde: 18/07/2005 15:55:53
Mensagens: 102
Localização: Goiânia
Offline
|
..cara eu escrevi umas besteirinhas a um tempo atras, da uma lida aqui http://ciromacedo.blogspot.com/2008/06/controle-de-acesso-no-jsf.html , acho que da pra implementar com base nisso. Só pra constar, eu construi uma engine de controle de acesso que atua em vários sistemas controlando autenticação e autorização toda baseada em PhaseListener e a idéia central ta descrita nesse artigo ...
...espero ter ajudado !!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2008 12:06:37
|
maurenginaldo
JavaEvangelist
![[Avatar]](/images/avatar/d82d678e9583c1f5f283ec56fbf1abb7.png)
Membro desde: 26/04/2006 18:16:41
Mensagens: 435
Localização: Belo Horizonte-MG
Offline
|
Vou dar uma conferida, obrigado mais uma vez.
|
Mauren Ginaldo Souza
______________________________________________________________
"Quis Custodie Ipsos Custodes." Quem guardará os guardiões. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2008 03:59:29
|
jerson.rodrigues
HelloWorld
Membro desde: 14/02/2008 22:21:09
Mensagens: 14
Localização: São Paulo - SP
Offline
|
Olá,
Sei que não tem muito a ver com o tópico, mas estava querendo usar o PhaseListener em um exemplo "mais completo", e vi que no livro Dominando Java Server Faces e Facelets Utilizando Spring 2.5, Hibernate e JPA. que está no link a descrição, possui acesso usando essas duas situações (PhaseListener e Servlet Filters).
Alguém já comprou e pode me dizer se está legal a explicação?
PS: Sei que é um livro tutorial e não tenho a intenção de me esfolar em trechos de um livro dedicado apenas. Já tenho o Core JavaServer Faces e quero agora aprender em um projeto completo.
Valeu
|
Jerson Rodrigues |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/07/2008 06:59:30
|
breffo
JavaChild
![[Avatar]](/images/avatar/83dc55aeb13cc9f621dcbaa80304d506.jpg)
Membro desde: 18/07/2005 15:55:53
Mensagens: 102
Localização: Goiânia
Offline
|
...amigo se for usar Filter aconselho dar uma olhada no Acegi do Spring (http://www.javaworld.com/javaworld/jw-04-2008/jw-04-acegi-jsf.html) ...quanto as diferenças, acredito que a principal e que o Filter vai agir na fachada da aplicação, enquanto o PhaseListener pode ser configurado pra agir em qualquer uma das Phases do ciclo de vida do JSF, resumidamente acredito ser isso ...eu optei por construir uma solução com PhaseListener pois não encontrei uma maneira elegante de utilizar JSF com PostRedirecMethod, ou seja realizando um REDIRECT após cada requisição visando atualizar a URL, ao invés disso, continuei usando FOWARD e controlando Autenticação e Autorização via PhaseListener que mesmo utilizando FOWARD permite verificar a página alvo de uma requisição ...se optar por Filter convêm dar uma olhada no ACEGI
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/01/2011 13:49:16
|
takeshi.spoow@hotmail.com
Debugger
![[Avatar]](/images/avatar/f9573b71a6af58dd09520d3f12ddd7a1.png)
Membro desde: 26/10/2010 10:27:09
Mensagens: 54
Localização: São Paulo - SP
Offline
|
Alguem aqui sabe me dizer como posso sobreescrever o método invalidate da Sessão?
Na minha aplicação, a conexão de dados é dinamica, podendo ser pega de varios lugares diferentes dependendo de onde é acessada, e por isso é aberta a conexão na tela de autenticação e fechada ao encerrar a sessão.
Tem duas formas de encerrar a sessão, uma numa barra de menu e a outra é fechando o navegador. Quando encerro a sessão dentro da página, eu também consigo fechar a conexão (pois ele faz a chamada dos metodos e depois redireciona para a tela principal). O problema é que quando fecha o navegador eu não consegui ainda sobreescrever o invalidate() da HttpSession para que ele feche a minha conexão também! Creio eu que o invalidate é o metodo invocado ao fechar o navegador.
Se alguém quiser conferir minha implementação de PhaseListener segue o exemplo aqui.
Abraços!
|
"Não existe trabalho ruim, o ruim é ter que trabalhar."
"Ah, o Sol... O lugar mais quente da Terra!" - Homer Simpson
"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus." |
|
|
 |
|
|