Bom dia pessoal é o seguinte sempre usei o ViewScoped (JSF) nas minha aplicações, agora por um “bug” do prime faces em relação as imagens em uma dataTable tive que mudar o meu bean para session.
Problema
mesmo quando eu dou um Logof na minha aplicação, ao acessar a mesma url novamente o usuário continua logado, com view escoped isso não aocntece.
o meu logof eu atribuo null ao usuário da sessão
,
alguem ?
Você está invalidando a sessão no seu metódo de loggoff?
Algo parecido com isso:
session.inValidate();
Não tenho certeza quanto ao nome do metódo, mas session possui um metódo assim.
Não estou fazendo isto…
apenas tiro o usuario da sessao e quando faço o login coloco o usuario na sessão com view scoped isto funciona certinho…
Com session eu tenho que invalidar?
cara o meu logof
remove o usuario da sessao e depois invalida ela e mesmo assim, se eu entrar de novo com outro usuário. fica logado o usuário antigo
Jovem,
Um bean de sessão possuí um ciclo de vida muito maior que um bean com o escopo de View, o bean com escopo de session deve ser invalidado pois seus dados não serão perdidos em futuras requisições.
Abs,
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(
false);
session.invalidate();