Como impedir entrar em página jsf digitando no browser

Caros amigos da GUJ… estou começando no desenvolvimento em JSF e estou implementando um sistema usando JSF 1.2, RichFaces, Mysql, TomCat. Já tenho algumas funcionalidades prontas, mas queria a ajuda de alguém para resolver uma coisa que deve ser básica, mas ñ tenho conhecimento de como se faz.

Como eu poderia fazer com quem ninguém pudese acessar nenhuma página de conteúdo sem realizar o devido login na aplicação? se alguém puder me ajudar, fico grato.

Você pode escrever um PhaseListener ou um filtro para fazer isso. No Google tem bastante material sobre isso.

Aqui tem um exemplo de filtro:
http://www.developer.com/security/article.php/3467801/Securing-J2EE-Applications-with-a-Servlet-Filter.htm

Segue o código de um filtro de exemplo. Ele não deixa o usuário acessar as páginas situadas dentro do diretório “restrito” se não estiver logado na sessão.
Além disso, se o usuário tentar acessar a página de login já estando logado, ele é redirecionado para a página principal.
Para o filtro, o usuário está logado se existir um atributo de escopo de sessão com o nome “usuario”.

[code]public class LoginFilter implements Filter {
public void init(FilterConfig filterConfig)
throws ServletException {

}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
	throws IOException, ServletException {
	
	HttpServletRequest httpRequest = (HttpServletRequest) request;
	HttpSession session = httpRequest.getSession(false);
	String uri = httpRequest.getRequestURI();
	String redirect = null;
	
	// Se a sessão for nula, ou se não houver usuário na sessão...
	if (session == null || session.getAttribute("usuario") == null) {
		// Se o usuário estiver tentando acessar alguma página dentro do diretório restrito...
		if (uri.contains("/restrito")) {
			// ... redirecione-o para a página de login.
			redirect = "/Contexto/login.xhtml";
		}
	} else if (uri.endsWith("login.xhtml")) {
		redirect = "/Contexto/restrito/principal.xhtml";
	}
	
	if (redirect != null) {
		((HttpServletResponse) response).sendRedirect(redirect);
	} else {
		chain.doFilter(request, response);
	}
}

public void destroy() {
	
}

}[/code]

como a apicação não tão grande e pesada vou utilizar essa solução com filtro que vejo como mais simples e prática de utilizar… obrigado pelo esclarecimento.