Galera seguinte,
Estou com um problema para recuperar o usuario atual da sessão, ja tentei varias formas e ele sempre retorna nulo.
Por exemplo, no meu action, que esta no escopo de sessão, estou setando a sessão da seguinte forma:
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usrSession", bean);
Até ai tudo bem, no PhaseListener eu consigo pegar esse cara normalmente, utilizando a seguinte codigo:
FacesContext context = event.getFacesContext();
ExternalContext ext = context.getExternalContext();
String currentPage = context.getViewRoot().getViewId();
HttpSession session = (HttpSession) ext.getSession(true);
boolean verifyCurrentPage = (currentPage.lastIndexOf("index.xhtml") > -1);
boolean auth = session.getAttribute("usrSession") != null;
Usuario objUsuario = new Usuario();
objUsuario = (Usuario) session.getAttribute("userSession");
Agora eu preciso pegar esse cara da sessão la no servico, tentei da seguinte forma:
objUsuario = (Usuario) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("userSession");
E tentei também obter uma instancia do UsuarioAction:
FacesContext fc = FacesContext.getCurrentInstance();
private UsuarioAction action = (UsuarioAction) fc.getApplication().getVariableResolver().resolveVariable(fc, "UsuarioAction");
Porém não obtive sucesso com nenhuma das formas, alguém poderia dar um help ai? Alguma caminho diferente que eu possa tomar?
Grato!
WJSF