Login jsf

Boa Tarde:

alguem tem um exemplo de como faço para criar uma página de login com jsf, estou seguindo o exemplo abaixo, mais quando tento acessar qualquer página antes de fazer o login ele não restringe a página.

http://crisaltmann.wordpress.com/category/tutorial/

gostaria que ao acessa qualquer página sem permissão automaticamente redirecionava para o página login.jsf

obrigado desde ja!

Aqui mostra como fazer por filter: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate

E garanto que funciona. [=

O BalusC respondeu essa dúvida na StackOverflow:

[quote=Arthur F. Ferreira]O BalusC respondeu essa dúvida na StackOverflow:

http://stackoverflow.com/questions/8480100/how-implement-a-login-filter-in-jsf[/quote]Que é a mesma abordagem citada no exemplo acima. [=

[quote=jjander.cunha]Boa Tarde:

alguem tem um exemplo de como faço para criar uma página de login com jsf, estou seguindo o exemplo abaixo, mais quando tento acessar qualquer página antes de fazer o login ele não restringe a página.

http://crisaltmann.wordpress.com/category/tutorial/

gostaria que ao acessa qualquer página sem permissão automaticamente redirecionava para o página login.jsf

obrigado desde ja![/quote]

Essa seria a ideia…

@WebFilter(filterName="AuthorizationFilter",urlPatterns="/pages/*")
public class AuthorizationFilter implements Filter{
		
		FilterConfig config = null;
		ServletContext servletContext = null;
		
		//Construtor
		public AuthorizationFilter(){	
		}
		
		public void init(FilterConfig filterConfig) throws ServletException{
			
			config = filterConfig;
			servletContext = config.getServletContext();
		
		}
		
		/**
		 * Se o usuário não está em uma sessãp ele é redirecionado
		 * para a página de login.
		 */
		public void doFilter(ServletRequest request,ServletResponse response,	
					FilterChain chain) throws IOException, ServletException{
			
			HttpServletRequest httpRequest = (HttpServletRequest)request;
			HttpServletResponse httpResponse = (HttpServletResponse)response;
			HttpSession session = httpRequest.getSession();
			//String requestPath = httpRequest.getPathInfo();
		
			Sessao sessao = (Sessao)session.getAttribute(Constantes.SESSION_KEY);
			
			//Se o usuario nao esta na sessao, nao estao logado...
			if(sessao == null){
				
				//Redireciona p/ pagina de login 
				httpResponse.sendRedirect(httpRequest.getContextPath() + Constantes.LOGIN_VIEW);
		
			}
			else{
				
				chain.doFilter(request,response);
				
			}
			
			//Utils.log(servletContext, "Saindo do Filtro");
		}
		
		public void destroy(){
		}
}