Estou com um problema com logout utlizando um Managed Bean com Session Scope, quando dou logout a sessão é expirada, mas os valores que são setados no managed bean quando o usuario se loga, não são perdido.
Preciso de um jeito de resetar o Managed Session bean.
Ja tentei fazer um metodio de logout com esse comando:FacesContext.getCurrentInstance().getApplication().createValueBinding("#{autenticador.pais}").setValue(FacesContext.getCurrentInstance(),null);
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
if (session != null) {
session.invalidate();
}
public void beforePhase(PhaseEvent event) {
public class CacheControlPhaseListener implements PhaseListener {
/**
*
*/
private static final long serialVersionUID = 1L;
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
public void afterPhase(PhaseEvent event) {
}
public void beforePhase(PhaseEvent event) {
FacesContext facesContext = event.getFacesContext();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-cache");
response.addHeader("Cache-Control", "must-revalidate");
response.addHeader("Expires", "Mon, 8 Aug 2006 10:00:00 GMT");
}
}
Alguem sabe como posso resolver isso?
vlw
Att,
Lennon