´[Resolvido ]Recuperar dados de sessão(JSF)

Eu criei uma sessão e setei dois atributos nela, mas como que eu recupero esses dois atributos de volta e seto em uma variável Int ou String ?

Sessão criada:

Pessoa pnova = new Pessoa();
//busca
pnova = pDAO.BuscarLogin(pessoa.getCpf(), hash.toHex());
//Cria sessão
FacesContext fc = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) fc.getExternalContext().getSession(false);
session.setAttribute("idSessao", pnova.getId());
session.setAttribute("nomeSessao", pnova.getNome());

Isso aqui eu tentei e não funcionou:

int IdSessao = session.getAttribute("idSessao");

Como eu posso fazer ?

Pesquise um pouco

acho que entendi, obrigado

Vou compartilhar o código funcionando antes de fechar o tópico

Classe que controla a sessão
package br.com.ufpr.es.util;

import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;

import br.com.ufpr.es.modelo.Pessoa;

public class SessionContext {
    
    private static SessionContext instance;
     
    public static SessionContext getInstance(){
         if (instance == null){
             instance = new SessionContext();
         }
          
         return instance;
    }
     
    private SessionContext(){
          
    }
     
    private ExternalContext currentExternalContext(){
         if (FacesContext.getCurrentInstance() == null){
             throw new RuntimeException("O FacesContext não pode ser chamado fora de uma requisição HTTP");
         }else{
             return FacesContext.getCurrentInstance().getExternalContext();
         }
    }
     
    public Pessoa getUsuarioLogado(){
         return (Pessoa) getAttribute("usuarioLogado");
    }
     
    public void setUsuarioLogado(Pessoa usuario){
         setAttribute("usuarioLogado", usuario);
    }
     
    public void encerrarSessao(){   
         currentExternalContext().invalidateSession();
    }
     
    public Object getAttribute(String nome){
         return currentExternalContext().getSessionMap().get(nome);
    }
     
    public void setAttribute(String nome, Object valor){
         currentExternalContext().getSessionMap().put(nome, valor);
    }
     
}


    Filtro utilizado para evitar acesso a página sem ter sessão ativa
    package br.com.ufpr.es.util;

    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;

    import br.com.ufpr.es.modelo.Pessoa;

    public class FiltroLogin implements Filter {

    	/**
    	 * Default constructor.
    	 */
    	public FiltroLogin() {
    		// TODO Auto-generated constructor stub
    	}

    	/**
    	 * @see Filter#destroy()
    	 */
    	public void destroy() {
    		// TODO Auto-generated method stub
    	}

    	/**
    	 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
    	 */
    	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException {
    		Pessoa pessoa = null;
    		HttpSession sess = ((HttpServletRequest) request).getSession(false);

    		if (sess != null) {
    			pessoa = (Pessoa) sess.getAttribute("usuarioLogado");
    		}

    		if (pessoa == null) {
    			String contextPath = ((HttpServletRequest) request).getContextPath();
    			((HttpServletResponse) response).sendRedirect(contextPath + "/index.xhtml");
    		} else {
    			chain.doFilter(request, response);
    		}

    	}

    	/**
    	 * @see Filter#init(FilterConfig)
    	 */
    	public void init(FilterConfig fConfig) throws ServletException {
    		// TODO Auto-generated method stub
    	}

    }

Método logar no meu bean
public String doLogin() {
		SimpleHash hash = new SimpleHash("md5", pessoa.getSenha());
		pnova = pDAO.BuscarLogin(pessoa.getCpf(), hash.toHex());
		if (pnova.getId() > 0 && pnova.getSituacao().equalsIgnoreCase("ativo")) {
			// redireciona conforme o nível
			SessionContext.getInstance().setAttribute("usuarioLogado", pnova);
			if (pnova.getNivel() == 1) {
				return "/pages/professor/principalProfessor.xhtml?faces-redirect=true";
			}
			if (pnova.getNivel() == 2) {
				return "/pages/aluno/principalAluno.xhtml?faces-redirect=true";
			}
			if (pnova.getNivel() == 3) {
				return "/pages/supervisor/principalSupervisor.xhtml?faces-redirect=true";
			}
			if (pnova.getNivel() == 4) {
				return "/pages/principais/principalEmpresa.xhtml?faces-redirect=true";
			}
			if (pnova.getNivel() == 5) {
				return "/pages/funcionario/principalFuncionario.xhtml?faces-redirect=true";
			} else {
				return "/index.xhtml?faces-redirect=true";
			}
		}else {
			
			FacesMessage fm = new FacesMessage("Dados incorretos", "ERRO MSG");
			fm.setSeverity(FacesMessage.SEVERITY_ERROR);
			FacesContext.getCurrentInstance().addMessage(null, fm);
			return "";
		}
	}