2010-10-11 41 views
1

Je voudrais savoir où les gens tracent la limite entre l'attribution d'autorisations à un utilisateur dans une application utilisateur muliti et la logique métier. Par exemple, si un utilisateur peut avoir l'autorisation d'accéder à un certain nombre de voitures, attribuez-vous ces autorisations directement à la classe d'utilisateurs en les ajoutant à une collection d'objets Car sur l'utilisateur ou les affectez-vous à la liste de contrôle d'accès. l'ACL pour récupérer la liste des voitures auxquelles l'utilisateur a accès?Autorisations et logique métier d'ACL

Existe-t-il des directives pour savoir quand utiliser la liste de contrôle d'accès pour ce genre de choses et quand cela devrait faire partie de la logique métier?

Répondre

0

La pratique normale est la "sécurité basée sur les rôles".

Par exemple, vous pouvez définir deux rôles "salesperson" et "maintainence".

«vendeur» aurait la permission de conduire, faire le plein et garer un ensemble de voitures.

"maintenance" ers aurait la permission de conduire, entretenir et réparer l'ensemble des voitures.

Vous souhaitez affecter vos employés à l'un ou l'autre des rôles.

+0

Oui mais vous pourriez aussi mais le vendeur et la maintenance dans le cadre de votre modèle de domaine en tant que sous-catégories de l'employé et attribuer la relation par le biais d'une association à la classe de voiture. Est-ce mieux ou pire que d'utiliser l'approche de sécurité basée sur le rôle. – eaglestorm

+0

Habituellement, la réponse est «Oui» car vous pouvez regrouper des éléments tels que la connexion, le réseau, l'accès aux fichiers, etc. dans une liste de contrôle d'accès basée sur le système d'exploitation. De cette façon, lorsqu'un nouveau vendeur est embauché, il suffit de l'ajouter dans le groupe et d'obtenir tout l'accès dont il a besoin. –