J'essaie de faire les choses de la manière DDD (Domain Driven Design). Et le garçon je me bats. Dans tous les livres que j'ai lus, l'authentification n'est pas une préoccupation et n'est pas mentionnée! J'ai écrit mon propre service d'authentification et d'adhésion qui est responsable de l'inscription et de la connexion des utilisateurs, de la création de mots de passe salés, etc. Je n'utilise pas le fournisseur d'abonnement .NET mais je compte sur l'authentification par formulaire.Où puis-je trouver des informations sur l'authentification et l'autorisation dans le contexte de la conception guidée par domaine?
J'ai mis en place un modèle de l'utilisateur qui détient le nom d'utilisateur, E-Mail, PasswordHash, ApprovalStatus etc.
Maintenant, je pense que le reste du modèle de domaine ne devrait pas se préoccuper des utilisateurs. J'ai une personne de classe qui est utilisée pour modéliser les personnes et leurs données associées. En tant que tel, il peut être utilisé pour modéliser les données personnelles des utilisateurs et des non-utilisateurs. Un objet de type Company travaille avec des personnes, pas des utilisateurs. Et une activité est assignée à une personne, pas à un utilisateur.
La question, comment associer le modèle Person au modèle User? Je ne veux pas vraiment une référence les uns aux autres dans l'un ou l'autre des deux modèles. Dois-je créer un modèle de relation appelé PersonUser et créer un service supplémentaire qui récupère l'objet de personne pour l'utilisateur actuellement authentifié?
Je ne vais pas le faire de cette façon, mais merci pour votre contribution. J'ai découplé mon utilisateur de mon modèle Person, à la fois dans le modèle de domaine et dans ma base de données. Question acceptée depuis que vous m'avez aidé à éclaircir les choses. – kitsune
Merci pour l'acceptation .. Je serais vraiment intéressé à entendre comment vous avez abordé cette question et quelle était votre solution finale.Je suis un fervent partisan de garder un esprit ouvert et d'apprendre que de nombreuses approches différentes du même problème aident tout le monde à devenir un meilleur ingénieur/architecte. – datacop