Gerenciar permissões

Galera, estou desenvolvendo um Sistema Web com JSF 1.2 e ICEfaces, IDE NetBeans.

Necessito de um sistema de login. A estrutura no BD está funcionando corretamente, consigo logar, alterar senha, consigo bloquear páginas para certos usuários de acordo com seu tipo de acesso, mas me surgiu uma dúvida: como setar visible true ou false em um botão de acordo com o tipo de acesso do usuário?

Tenho um método que pega os acessos do usuário e retorna um HashMap:
Exemplo de tipo de acesso: Enviar NFe, possui o ID, o nome do acesso e 4 colunas (Ler, Criar, alterar e deletar)

/**
     * Método para checar todos os acessos de determinado usuária informado no
     * parâmetro do método.
     *
     * @param idUsuario Código do usuário
     * @param idSistema Código do sistema
     * @return Um mapa que associa uma chave (código do acesso) e um valor (tipos do acesso)
     * @throws ClassNotFoundException
     * @throws SQLException
     */
    public HashMap<Integer, ModelAcesso> getAcessosUsuario(int idUsuario, int idSistema) throws ClassNotFoundException, SQLException {

        HashMap<Integer, ModelAcesso> acessos = new HashMap<Integer, ModelAcesso>();


        /////***** NESTE PRIMEIRO TRECHO, BUSCA OS ACESSOS COMUNS À FUNÇÃO DO USUÁRIO EM QUESTÃO *****\\\\\
        ResultSet rs = Conexao.getResultSet("SELECT A.id, A.nome, AF.criar, AF.ler, AF.alterar, AF.excluir FROM siteagrofauna.FUNCAO_USUARIO FU " +
                "INNER JOIN siteagrofauna.ACESSO_FUNCAO AF ON AF.id_funcao = FU.id_funcao INNER JOIN siteagrofauna.ACESSO A ON A.id = AF.id_acesso " +
                "WHERE FU.id_usuario = " + idUsuario + " AND AF.id_sistema = " + idSistema);
        
        while(rs.next()) 
        {
            acessos.put(rs.getInt("id"), new ModelAcesso(rs.getInt("id"), rs.getString("nome"), rs.getString("criar").equalsIgnoreCase("T"), rs.getString("ler").equalsIgnoreCase("T"), rs.getString("alterar").equalsIgnoreCase("T"), rs.getString("excluir").equalsIgnoreCase("T")));
        }
        /////***** FIM DA VERIFICAÇÃO DOS ACESSOS DA FUNÇÃO *****\\

        /////***** BUSCA OS ACESSOS PARTICULARES DO USUÁRIO *****\\
        /// OBS: Caso o  usuário tenha o mesmo acesso que sua função, a permissão particular terá prioridade sobre a comum da função \\
        rs = Conexao.getResultSet("SELECT A.id, A.nome, AU.criar, AU.ler, AU.alterar, AU.excluir FROM siteagrofauna.ACESSO A " +
                "INNER JOIN siteagrofauna.ACESSO_USUARIO AU ON AU.id_acesso = A.ID WHERE AU.id_usuario = " + idUsuario);
        
        while(rs.next())
        {
            acessos.put(rs.getInt("id"), new ModelAcesso(rs.getInt("id"), rs.getString("nome"), rs.getString("criar").equalsIgnoreCase("T"), rs.getString("ler").equalsIgnoreCase("T"), rs.getString("alterar").equalsIgnoreCase("T"), rs.getString("excluir").equalsIgnoreCase("T")));
        }
        /////***** FIM DA VERIFICAÇÃO DAS PERMISSÕES DO USUÁRIO *****\\

        return acessos;
    }

Como faço para setar o visible no botão de acordo com o acesso do usuário?

Agradeço desde já

up!

Thiago, não dê ups no seu tópico.
O fórum não é lugar para desespero. Aguarde ser respondido.

[]'s

nos componentes tem uma propriedade rendered=true/false

rendered="#{meubean.isAdminRole}"