JSF: Erro ao recuperar session [RESOLVIDO]  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
felipempantoja
JavaTeenager
[Avatar]

Membro desde: 28/11/2007 16:00:37
Mensagens: 167
Localização: Rio de Janeiro
Offline

Olá pessoal

Estou tentando implementar um controle de acesso na minha aplicação em JSF, para isso criei um Servlet Filter, porém a minha sessão não chega até lá...


Este método acima (reduzido só para entendimento), registra apenas a sessão do bean Usuario, que fora instanciado nesta classe (UsuarioMB.java).



A partir dos métodos do FacesUtil acima, eu deveria manipular a sessão desejada.
No próprio UsuarioMB.java eu tenho um método que verifica se a sessão existe.



E por último, meu Filter...


Quando eu rodo a aplicação dá NullPointerException, justamente na linha onde eu tento recuperar a sessão, como se ela não existisse. Porém no momento que o método logar é executado, eu fiz um teste e imprimi o conteúdo da sessão userSession logo após ter registrado ela, e funcionou na boa, então eu sei que ela existe.

Por que será que não consigo recuperá-la? Alguém já passou por isso?

This message was edited 1 time. Last update was at 14/02/2008 17:02:45


"Quer você pense que pode ou que não pode, VOCÊ ESTÁ CERTO!"

Henry Ford
[Email] [Yahoo!] [MSN]
felipempantoja
JavaTeenager
[Avatar]

Membro desde: 28/11/2007 16:00:37
Mensagens: 167
Localização: Rio de Janeiro
Offline

Se alguém tiver alguma outra sugestão de fazer esse controle de acesso em JSF também será muito útil

"Quer você pense que pode ou que não pode, VOCÊ ESTÁ CERTO!"

Henry Ford
[Email] [Yahoo!] [MSN]
felipempantoja
JavaTeenager
[Avatar]

Membro desde: 28/11/2007 16:00:37
Mensagens: 167
Localização: Rio de Janeiro
Offline

Pessoal,

Consegui resolver da seguinta forma:

- Mudei meu filter:



Descartando assim, o método verifySession do UsuarioMB.
Não sei se é a maneira mais correta mas foi a única que funcionou após muito tempo quebrando a cabeça.

Fica aí minha solução, mas caso alguém saiba uma maneira melhor de implementar esse controle, fiquem a vontade e agradeço


valeu Pessoal.

"Quer você pense que pode ou que não pode, VOCÊ ESTÁ CERTO!"

Henry Ford
[Email] [Yahoo!] [MSN]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

felipempantoja Bom dia !

Estou tentando fazer esse controle de acesso, no meu caso vai ter vários tipos de usuários com varios tiṕos de acesso ! o que você recomenda ?

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
felipempantoja
JavaTeenager
[Avatar]

Membro desde: 28/11/2007 16:00:37
Mensagens: 167
Localização: Rio de Janeiro
Offline

juniorsatanas wrote:felipempantoja Bom dia !

Estou tentando fazer esse controle de acesso, no meu caso vai ter vários tipos de usuários com varios tiṕos de acesso ! o que você recomenda ?


Fala Junior, blz?
Cara, depois de tanto bater cabeça, tentar controlar acesso via ServletFilter, deopis via PhaseListener do JSF, agora achei uma solução muito mais robusta e flexivel: Spring Security.

Já ouviu falar? Dá uma olhada na documentação, é muito simples: http://static.springsource.org/spring-security/site/docs/2.0.x/reference/springsecurity.html

Eu tentei ajudar um cara num post aqui no guj mesmo, sobre a utilização do Spring Security, dá uma olhada: http://www.guj.com.br/posts/list/131765.java

Qualquer coisa é só falar cara...

Abraços.

"Quer você pense que pode ou que não pode, VOCÊ ESTÁ CERTO!"

Henry Ford
[Email] [Yahoo!] [MSN]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

felipempantoja estou usando JSF. como ficaria ? tenho que usar jsf + spring ?

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
felipempantoja
JavaTeenager
[Avatar]

Membro desde: 28/11/2007 16:00:37
Mensagens: 167
Localização: Rio de Janeiro
Offline

juniorsatanas wrote:felipempantoja estou usando JSF. como ficaria ? tenho que usar jsf + spring ?


No fim das contas vc ia ter que usar o spring sim. Tem um exemplo bom também nesse link: http://ocpsoft.com/java/acegi-spring-security-jsf-login-page/

Se quiser fazer alguma coisa bem simples cara, e como vc tá usando JSF, eu sugiro criar um PhaseListener ao invés de um ServletFilter. Aí vc pode interceptar uma requisição em todas as fases do ciclo de vida do JSF, vale a pena.

No PhaseListener, vc faria algo mais ou menos assim:



Tem que fazer o mapeamento desse phaseListener no seu faces-config:




Claro que isso é um exemplo bem básico, mas dá pra ir brincando, criando as suas regras de controle de acesso...
Qualquer coisa só postar... Valeu!

"Quer você pense que pode ou que não pode, VOCÊ ESTÁ CERTO!"

Henry Ford
[Email] [Yahoo!] [MSN]
juniorsatanas
GUJ Master
[Avatar]

Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline

ok valeu !

Cheque Mate em 6
[WWW] [Yahoo!] aim icon [MSN] [ICQ]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team