Disons que j'ai des modèles qui sont sujets à droits lorsqu'ils sont utilisés par les utilisateurs, mais pas lorsqu'ils sont utilisés par la logique métier.Où mettre la logique de gestion des droits dans l'architecture logicielle MVC
Pour exemple: Quand on crée un élément A, il crée automatiquement un élément B.
Les utilisateurs doivent avoir le droit de créer A ou B s'il veut créer un. Mais la logique métier lors de la création de B à partir de A n'a pas besoin de droits.
Si je mets le bon système dans la logique métier, je reçois des classes qui ont une forte dépendance à la session et A ne peut pas créer un B si l'utilisateur connecté n'a pas le droit. Si je mets les gestionnaires de droits dans les contrôleurs, j'ai l'impression que ma logique métier n'est pas sûre car tout programmeur pourrait oublier de tester les droits avant de créer un objet et ne serait pas arrêté, et il y a duplication de code si 2 contrôleurs sont capables mettre à jour un article pour une raison quelconque.
Où mettriez-vous la gestion des droits?
Je Coul créer l'héritage de chaque objet qui serait utilisé par les contrôleurs, et mettre en œuvre la limitation des droits, alors que la logique métier accéderait les objets eux-mêmes. Les contrôleurs créent UserA, UserB tandis que l'objet A crée directement un objet B. Mais il semble que je devrais dupliquer (hériter) tous les objets de logique métier qui doivent être utilisés dans un contrôleur, donc 80% d'entre eux.
Vous devriez mettre un exemple concret de vos classes .. Il est vraiment difficile de comprendre ce que les classes A et B sont. A est un modèle d'utilisateur? –
Avez-vous un intergiciel? Vous pouvez également utiliser des services pour partager du code – Farkie