3
R. Grin Sécurité Java EE page 13
Rôle
La politique de sécurité des serveurs d’application
repose sur la notion de rôle
Exemples de rôle : administrateur, organisateur,
participant, chef de service
Un principal / utilisateur peut avoir un ou plusieurs
rôles dans une application
Un rôle donne des droits aux utilisateurs qui ont
ce rôle
La notion de rôle augmente la portabilité de
l’application puisqu’on ne fait aucune prévision
sur l’existence d’utilisateurs particuliers
Rôles d’un utilisateur
C’est celui qui déploie l’application qui associe
ces rôles
La manière dont un rôle est associé à un
utilisateur n’est pas standard et dépend du
serveur d’application
Tomcat et GlassFish définissent des groupes
d’utilisateurs et il est possible de les configurer
pour qu’un groupe corresponde à un rôle (voir
section « Configuration GlassFish » plus loin
dans ce support)
R. Grin Sécurité Java EE page 14
Groupes d’utilisateurs
Les utilisateurs sont souvent regroupés en
groupes qui ont les mêmes types d’autorisation,
ce qui facilite l’attribution de rôles aux utilisateurs
(on peut donner en bloc un rôle à tous les
membres d’un groupe)
Par exemple, le groupe des utilisateurs
enregistrés, le groupe des visiteurs non
enregistrés, le groupe des administrateurs
R. Grin Sécurité Java EE page 15
Realm
– domaine de sécurité
Pour authentifier les utilisateurs, les serveurs
d’application doivent conserver des informations
sur ces utilisateurs
Un domaine de sécurité (realm), identifié par son
nom, définit comment ces informations sont
conservées, et comment on les utilise pour
l’authentification (voir balise <login-config> de
web.xml) ; la définition d’un realm n’est pas
standardisée
Exemples : domaine défini par un fichier des mots
de passe, par des tables relationnelles, par un
registre LDAP, par des certificats informatiques
R. Grin Sécurité Java EE page 16
Intervenants dans le
processus de développement
Le développeur écrit l’application et indique les
rôles nécessaires pour les ressources protégées
L’administrateur du serveur d’application gère les
utilisateurs et les groupes d’utilisateurs
Celui qui déploie l’application dans le serveur
d’application indique la correspondance entre les
utilisateurs et groupe d’utilisateurs et les rôles
définis par l’application (le plus souvent en
utilisant les fichiers de déploiement)
R. Grin Sécurité Java EE page 17 R. Grin Sécurité Java EE page 18
Présentation de la sécurité
dans Java EE