Optimisation Attribution de roles

Optimisation Attribution de roles - Java - Programmation

Marsh Posté le 24-08-2006 à 15:43:17    

Bonjour,  
 
dans le cadre d'une application Web, j'ai besoin de gérer des restrictions d'accès à certaines parties de l'application. J'utilise pour celà un système d'utilisateurs, auxquels j'associe des rôles.  
La base de données est faite ainsi, rien de bien compliqué, une table pour les utilisateurs, une pour les rôles et une pour faire l'association.
Utilisateurs(id,login,mot_de_passe,...).
Roles(id,nom).
RolesUtilisateur(utilisateur,role).
 
Mon problème viens de la partie ou je dois attribuer les rôles aux utilisateurs, et mettre à jour la table RolesUtilisateur. J'ai un formulaire où je sélectionne un utilisateur, il y a la liste de tous les rôles avec des "checkboxes" à côté (précochées si le rôle est déja attribué à l'utilisateur). On coche les rôles qu'on veut attribuer à l'utilisateur (éventuellement décoche les rôles qu'on veut lui enlever), et on envoie tout ça au serveur.
 
Là une servlet se charge de vérifier que l'utilisateur est bien enregistré dans ma base de données (en instanciant un objet de classe Utilisateur au passage), et viens le moment fatidique de traiter la liste de case à cocher ... et là, je suis un peu perdu ...  
J'avais pensé faire une méthode dans ma classe Utilisateur qui aurait pour effet de gérer tout ça : en gros je lui passait une liste d'objets de classe Role créée à partir de la liste de case à cocher, il me supprimait tous les rôles de l'utilisateur, et me rajoutait la nouvelle affectation ... mais je trouve ça un poil bourrin (pourtant la méthode me parrait logique : on réaffecte les rôles donc on commence par enlever les rôles puis on donne les nouveaux ...)
 
Si quelqu'un pouvait me dire si ma méthode est viable, ou si y a pas moyen de faire moins bourrin, ce serait cool.

Reply

Marsh Posté le 24-08-2006 à 15:43:17   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed