J'ai une application qui se compose de 3 couches:
UI: à mettre en œuvre dans ASP.NET MVC
affaires: Peut contenir la logique métier et l'accès aux ressources contrôle
Référentiel (DAL): implémenté avec les objets POCO et EF, en utilisant le modèle de référentiel. Mes objets POCO sont partagés avec les couches supérieures.POCO + Entity Framework avec le modèle référentiel - autorisation de manipulation
J'ai des questions sur les informations/méthodes que les POCO devraient avoir? i.e: si j'ai une table User qui contient un nom d'utilisateur et un mot de passe pour un utilisateur, que devrait avoir mon POCO? Comment devrais-je valider le mot de passe? Mes POCO devraient-ils avoir une méthode qui demande la validation du référentiel?
De même, comment devrais-je contrôler l'accès à mes ressources? Mes référentiels devraient-ils contrôler qui peut et ne peut pas accéder à une ressource? Cela permet toujours à mes POCO d'exposer des informations avec des propriétés de navigation. Dois-je vérifier dans la proposition POCO si l'utilisateur actuel peut les utiliser aussi?
Merci d'avance.
Merci pour les conseils, ils ont été utiles :) Mais en ce qui concerne le contrôle d'accès, je ne veux pas que mon interface soit responsable de cela. Si je change l'interface utilisateur, je perds le contrôle d'accès, c'est pourquoi je veux que ce soit ailleurs. Mes informations seront accessibles via le site web (asp.net mvc) et le service REST à l'avenir. – codegarten
Si vous avez plusieurs interfaces à l'avenir, je vous suggère fortement d'ajouter une couche "Services" entre votre interface utilisateur et BL. cela vous aidera dans l'avenir à changer ou à ajouter plusieurs interfaces utilisateur. Vous pouvez simplement déplacer cette logique d'autorisation dans une couche Services WCF dans ce cas. Il y a aussi beaucoup d'articles à ce sujet. J'espère que cela t'aides :) – Jay