2010-09-07 5 views
2

J'ai une application Web configurée avec la sécurité de printemps qui obtient les utilisateurs et les rôles d'un arbre ldap.Gérer les rôles spéciaux dans ldap

J'ai un dn ou = Utilisateur, dc = application pour les utilisateurs et, pour le rôle, ou = Groupes, dc = application.

Chaque rôle est une entrée dans le second sous-arbre et l'association est faite par un membre d'attribut dans l'entrée du rôle.

En fait, j'ai 5 différents accès au rôle (ROLE_A, ROLE_B, ROLE_C, ROLE_D, ROLE_E): chaque rôle donne l'autorisation d'accéder à une URL spécifique. Chaque rôle est indépendant.

schéma de sous-arbre de rôle (très simple et incomplète)

ou = groupes, dc = application. -CN = A = B -CN -CN = C -CN = D = E -CN

Maintenant, j'ai pour satisfaire une demande d'insérer 3 nouveaux rôles (ROLE_F, ROLE_G , ROLE_H) qui peut être affecté selon un schéma fixe: - ROLE_F peut être affecté uniquement si l'utilisateur est dans ROLE_B, ROLE_D, - ROLE_G peut être affecté uniquement si l'utilisateur est dans le rôle ROLE_C ou ROLE_E - ROLE_H peut être affecté seulement si l'utilisateur est dans le rôle ROLE_A ou ROLE_B

Quelle est la meilleure pratique pour gérer ces 3 nouveaux rôles? Dois-je les considérer comme une dépendance indépendante et contrôlée dans l'application ou quoi d'autre?

Merci

Répondre

0

Y at-il raison que les nouveaux rôles pourraient devoir être gérés comme des éléments distincts, en ce sens que ce soit maintenant ou peut-être un jour à l'avenir par exemple les autorisations accordées par ROLE_F ne s'appliqueront pas à 100% des personnes de ROLE_B? Si oui, alors je dirais qu'ils devraient être gérés séparément, même si vous pensez seulement qu'un jour ils pourraient avoir besoin d'être séparés ... après tout, vous pourriez tout aussi bien faire le petit effort supplémentaire pour sauver des ennuis à l'avenir. Mais si tout ce que vous avez vraiment besoin de faire est d'ajouter de nouvelles permissions (par exemple celles accordées par ROLE_F) aux groupes existants (ROLE_B dans cet exemple), alors il n'y a pas besoin de nouveaux rôles.

+0

ROLE_F (comme ROLE_G et ROLE_H) contient des autorisations d'actions spéciales (fonctions d'administration), de sorte qu'elles ne s'appliqueront pas à 100% des personnes ROLE_B. Une autre particularité est que le role_f spécifique sera assigné (ou pas) seulement si l'utilisateur a ROLE_B ou ROLE_D. Une autre question que j'ai, est comment implémenter ce scénario dans mon serveur ldap. –

+0

Malheureusement, ces nouvelles permissions ajoutées par ces nouveaux rôles ne peuvent pas être associées aux groupes existants, sinon je les associe à des groupes réels. –

Questions connexes