Bonjour,
Je developpe actuellement une web-app sous tomcat, et avec Struts.
Certaines parties de l'appli ne sont accessible qu'a certains types d'utilisateurs, donc j'utilise les roles et les security-constraints pour delimiter l'acces par URL ainsi que des affichages dynamiques en fonction des roles attribués au user.
J'en suis venu a me poser la question suivante: qu'est ce qui est le mieux autorisé une action ou une url pour plusieurs roles ou mettre plusieurs roles sur le meme user ?
par exemple: je veux rendre /admin/* accessible pour les roles admin et superadmin (qui est un admin avec plus de fonctions), et /extranet/* accessible pour les admin, superadmin et extranet.
J'ai 2 solutions:
1. soit j'autorise /admin/* pour le role "admin", et /extranet/* pour le role "extranet" et mon user devra avoir les 2 roles "admin", "extranet" pour acceder aux 2 parties (et eventuellement "superadmin" en plus pour les fonctions supplementaires).
2. j'autorise /admin/* pour le role 'admin' + 'superadmin' et /extranet/* pour les roles 'extranet' + 'admin' + 'superadmin', et mon user aura qu'un seul role comme 'superadmin' ou 'admin' ou 'extranet'.
Bref, vaut-il mieux mettre plusieurs roles sur les users ou plusieurs roles dans les contraintes ?
Je n'ai pas vraiment trouvé de best practice sur ce sujet. Pour l'instant je ne vois pas d'avantage a l'une ou l'autre methode.
Je suis pour l'instant partisan de la methode 1, mais peut etre y a t'il un piege ?
Qu'est ce que vous en pensez ?
Cordialement
Ju
Partager