1.3. Funções de Segurança

O nome de função de segurança referenciado tanto pelo elemento <security-role-ref> ou <security-identity> deve mapear uma das funções declaradas do aplicativo. Um assembler de aplicativo define as funções de segurança lógica pela declaração dos elementos <security-role>. O valor do atributo role-name é um nome de função do aplicativo lógico, tal como Administrator, Architect ou Sales_Manager.
As especificações do Java EE descrevem que é importante estar ciente que as funções de segurança no descritor da implantação são usadas para definir a visualização da segurança lógica de um aplicativo. As funções definidas nos descritores de implantação do Java EE não devem ser confundidas com os grupos de usuários, principais e outros conceitos que existem no ambiente operacional da empresa alvo. As funções do descritor de implantação são construções de aplicativos com os nomes específicos de domínio. Por exemplo, o aplicativo do banco pode usar nomes de função tais como Bank_Manager, Teller ou Customer.
elemento <security-role>

Figura 1.3. elemento <security-role>

No JBoss, o elemento <security-role> é apenas usado para mapear os valores <security-role-ref> ou <role-name> à função lógica que a função do componente referencia. As funções determinadas do usuário são uma função dinâmica do gerenciador de segurança do aplicativo, conforme será visto quando discutirmos em maiores detalhes a implantação do JBossSX.
O JBoss não requer a definição dos elementos <security-role> com o objetivo de declarar as permissões do método. No entanto, a especificação dos elementos <security-role> continua a ser uma prática recomendada para garantia de portabilidade através dos servidores do aplicativo e para a manutenção do descritor de implantação. O Exemplo 1.3, “fragmento do descritor ejb-jar.xm” descreve o uso do <security-role> num arquivo ejb-jar.xml.

Exemplo 1.3. fragmento do descritor ejb-jar.xm

<!-- A sample ejb-jar.xml fragment -->
<ejb-jar>
    <!-- ... -->
    <assembly-descriptor>
        <security-role>
            <description>The single application role</description>
            <role-name>TheApplicationRole</role-name>
        </security-role>
    </assembly-descriptor>
</ejb-jar>
O Exemplo 1.4, “amostra do fragmento do descritor web.xml” apresenta o uso do <security-role> num arquivo web.xml.

Exemplo 1.4. amostra do fragmento do descritor web.xml

<!-- A sample web.xml fragment -->
<web-app>
    <!-- ... -->
    <security-role>
        <description>The single application role</description>
        <role-name>TheApplicationRole</role-name>
    </security-role>
</web-app>