getUserPrincipal retorna nulo em um filter

Alguém sabe o motivo ?
No servlet normal funciona, no filter retorna nulo…
tem como ajeitar isso ? alguma configuração la no securityfilter-config.xml
Valeu!

posta o codigo !

LoginFilter

 /** DO FILTER **/

    @Override
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException 
	{
		HttpServletRequest request = (HttpServletRequest) servletRequest;
		
		HttpServletResponse response = (HttpServletResponse) servletResponse;
		
		verifyPerfilInSession(request); // Função que verifica o usuário logado

		try
		{
			PerfilLogadoController controller = (PerfilLogadoController) request.getSession().getAttribute("perfilLogadoController");
			
			Integer status = controller.getStatusPerfil();
			
			if(status.equals(StatusPerfil.INATIVO.code))
			{
				response.sendRedirect(request.getContextPath() + "/perfil/ativar");
			}
			else if(status.equals(StatusPerfil.NOVO.code))
			{
				response.sendRedirect(request.getContextPath() + "/perfil/new");
			}
			else
			{
				chain.doFilter(request, response);
			}
		}
		catch (Exception e) {}
	}	

/** VERIFY PERFIL IN SESSION **/

    private void verifyPerfilInSession(HttpServletRequest request)
	{
		Object obj = request.getSession().getAttribute("perfilLogadoController");
		
		if(obj == null || (obj != null && (((PerfilLogadoController) obj).getPerfilLogado() == null)))
		{	
			System.out.println("- Executando Redirect Login");

			PerfilLogadoController perfilLogadoController;
			
			if(obj == null)
				 perfilLogadoController = new PerfilLogadoController();
			else
				perfilLogadoController = (PerfilLogadoController) obj;

			try 
			{
                UsuarioEntity userEntity = (UsuarioEntity) request.getUserPrincipal(); // Retornando null, quando executa o chain.doFilter, começa a funcionar.. lá no servlet por exemplo

				if(userEntity != null) 
				{
					System.out.println("- Usuário: " + userEntity.getName());

					System.out.println("- E-mail: " + userEntity.getEmail());

					PerfilUsuario perfil = new PerfilUsuarioFacade().loadPerfil(userEntity);

					if(perfil != null)
					{
						System.out.println("- Perfil Encontrado, Incluindo na Sessão");

						perfilLogadoController.setPerfilLogado(perfil);										
					}
					else
					{
						System.out.println("- Usuário não Possui Perfil na Rede Social");

						Usuario usuario = new Usuario(userEntity.getIdUsuario());

						usuario.setNome(userEntity.getName());

						usuario.setEmail(userEntity.getEmail());

						usuario.setLogin(userEntity.getLogin());

						perfil = new PerfilUsuario();

						perfil.setUsuario(usuario);

						perfilLogadoController.setPerfilLogado(perfil);
					}
				}
				else
				{					
					System.out.println("- Não Possui User Principal");
				}
			} catch (Exception e) {
				e.printStackTrace();
			}

			perfilLogadoController.initController(request, Scope.SESSION);
		}
	}