10.2.4. Rôles de sécurité

Le nom de rôle de sécurité référencé soit par l'élément security-role-ref ou élément de security-identity doit mapper à un des rôles déclarés de l'application. Un assembleur d'applications définit les rôles de sécurité logique en déclarant les éléments security-role. La valeur de role-name est un nom de rôle d'application logique comme Administrateur, Architecte, ResponsableVentes, etc.
Les spécifications Java EE précisent qu'il est important de garder à l'esprit que les rôles de sécurité du descripteur de déploiement soient utilisés pour définir l'aperçu de la sécurité logique d'une application. Les rôles définis dans les descripteurs de déploiement Java EE ne doivent pas être confondus avec les groupes d'utilisateurs, les utilisateurs, les principaux et d'autres concepts qui existent dans l'environnement opérationnel de l'entreprise cible. Les rôles de descripteur de déploiement sont des constructions d'applications avec des noms de domaine d'application spécifiques. Par exemple, une application bancaire pourrait utiliser des noms de rôles tels que DirecteurBank, Guichetier ou Client.
Dans JBoss EAP, un élément de security-role est seulement utilisé pour mapper les valeurs de security-role-ref/role-name au rôle logique qui fait référence au rôle du composant. Les rôles assignés à l'utilisateur représentent une fonction dynamique du gestionnaire de sécurité de l'application. JBoss n'a as besoin de la définition des éléments de security-role pour déclarer des permissions de méthode. Toutefois, la spécification d'éléments de security-role est toujours une pratique conseillée pour assurer la portabilité entre les serveurs d'applications et la maintenance du descripteur de déploiement.

Exemple 10.3. Un fragment de descripteur ejb-jar.xml qui illustre l'utilisation de l'élément security-role.

<!-- 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>

Exemple 10.4. Un exemple web.xml qui illustre l'utilisation de l'élément security-role.

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