Como pegar usuario logado em JSF

2 respostas
R

Bom dia pessoal,

eu tenho um LifeCycleListener em meu projeto, mas não estou conseguindo trazer o usuario de qualquer página.

Aqui está meu código.

/**
 * Listener responsável por informar as fases do ciclo de vida do JSF.
 * 
 */
public class LifeCycleListener implements PhaseListener {

	/**
	 * Serial Version UID.
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * Após a execução da fase.
	 */
	public void afterPhase(PhaseEvent fase) {
		System.out.println("AfterPhase: " + fase.getPhaseId());
	}

	/**
	 * Antes da execução da fase.
	 */
	public void beforePhase(PhaseEvent fase) {
		
		System.out.println("BeforePhase: " + fase.getPhaseId());

		System.out.println("nome da pagina: "+( fase.getFacesContext().getExternalContext()).getRequestContextPath().length());
		
		if (fase.getFacesContext().getExternalContext().getRequestContextPath().length() != 9){
		
		if (fase.getPhaseId().equals(PhaseId.RENDER_RESPONSE)) {

			 UsuariosBean usuarioMBean = (UsuariosBean) FacesContextComum
				.getSessionAttribute("usuariosBean");
			if (usuarioMBean == null || !usuarioMBean.getAutenticado()) {
				
				FacesContextComum.setNavegacao("principal");
			}
		}

	}
	}
	/**
	 * Informa o identificador da fase.
	 */
	public PhaseId getPhaseId() {
		return PhaseId.ANY_PHASE;
	}

Gostaria de pegar o nome do usuario em qualquer pagina do sistema.

2 Respostas

D
((HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest()).getUserPrincipal().getName();
H

dev.rafael:
((HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest()).getUserPrincipal().getName();

Vlw dev, ajudou muito, simples e objetivo… !!!
Um dia eu chego la.
srrsrs

Criado 27 de outubro de 2010
Ultima resposta 15 de ago. de 2012
Respostas 2
Participantes 3