Tutorial simples de login com JSF2

Gente, alguém tem algum tutorial de como criar login com jsf2 simples? Só encontrei 1 do quebrando paradigmas que é uma bagunça. Gostaria de aprender o procedimento do login apenas, como logar, como sair, e como atuar somente se estiver logado.

Se alguém tiver algum documento ou indicaçãode um livro, me indiquem por favor.

digitei “Login JSF” no Google…

e só na primeira página já veio uns 4…

Falows…

Carlos, eu já havia feito isso, porém os exemplos que aparecem são todos de JSF 1.2 e não do 2, maxmustang, vou verificar aqui. Encontrei um exemplo aqui também, ainda estou implementando ele de acordo com o passo a passo. Segue o código:

package br.com.bb.Login;

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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebFilter(servletNames = {"Autenticador"})
public class LoginFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest) request;
        HttpSession session = req.getSession();

        if (session.getAttribute("autenticado") != null
                || req.getRequestURI().endsWith("login.bb")) {
            chain.doFilter(request, response);
        } else {
            HttpServletResponse res = (HttpServletResponse) response;
            res.sendRedirect("login.bb");
        }

    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void destroy() {
    }
}
package br.com.bb.Login;

import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;


@ManagedBean
public class LoginBean {

    private String usuario;
    private String senha;

    public String entrar() {
        if (verificaUsuario(usuario, senha) == true) {
            HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
            session.setAttribute("autenticado", true);
            return "/index";
        } else {
            return "/login";
        }
    }

    public String sair() {
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
        session.removeAttribute("autenticado");
        return "/logout";
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
}

Tem na apostila da CAELUM, do curso sobre JSF2. se der eu posto parte do código mais tarde. Tenho que procurar o material de quando fiz o curso.
abraços