Problema com Managed Bean Session Scoped

4 respostas
E

Eu tenho um Managed Bean Session Scoped controlando minha página, o problema é que quando a sessão expira e o bean é destruído, a página fica em um estado que nem um botão funciona mais, pelo que observei o JSF não cria uma nova instância do bean depois que ela expira, mesmo com o usuário mexendo na página. A única forma de voltar a funcionar é recarregando a página. Tem como contornar isto fazer com que o bean seja instanciado novamente?

4 Respostas

A

cara,

esse comportamento é o correto, o que vc deve fazer quando sua sessão expirar é ter que fazer com que o usuario faça o login novamente.

t+

E

alissonvla:
cara,

esse comportamento é o correto, o que vc deve fazer quando sua sessão expirar é ter que fazer com que o usuario faça o login novamente.

t+

Quanto a isto tudo bem, porém, quando a sessão expirar, como vou saber se a página ainda está aberta no browser?

A

cara,

vc vai ter que fazer um filtro e ficar verificando se a sessao está ativa, se nao tiver, vc vai ter que encaminhar a solicitação do usuario para a pagina de login.

t+

Hebert_Coelho

eliflavio:
alissonvla:
cara,

esse comportamento é o correto, o que vc deve fazer quando sua sessão expirar é ter que fazer com que o usuario faça o login novamente.

t+

Quanto a isto tudo bem, porém, quando a sessão expirar, como vou saber se a página ainda está aberta no browser?

Uma vez que você utilizar HTTP, RESTFull e outras coisas você tem que ter em mente uma coisa.

O único momento que você tem contato com o usuário é na hora que ele te chama. Se o cara deixou a pagina aberta por 3h ou 3min você nunca fica sabendo até a próxima chamada dele.

Quando a sessão é destruída tudo relacionado vai embora. O que você poderia fazer é criar um filtro que verifica se o usuário tem ou não sessão. Caso não tenha, você barra a requisição dele e redireciona ele para a mesma página.

Criado 1 de dezembro de 2011
Ultima resposta 1 de dez. de 2011
Respostas 4
Participantes 3