Certains d'arrière-plan pour commencer:conception des membres Asp.net MVC
J'ai mis en œuvre une coutume MembershipProvider qui valide un utilisateur de ma couche de service appelé « WebMemberShipProvider »
Actuellement, je suis un service appelé " MembershipService ", ce service implémente l'interface IMembershipService sur la couche de service. cette MemberShipService interroge le dal, et valide un utilisateur en fonction du nom d'utilisateur/mot de passe
J'ai aussi créé une coutume AuthorizeAttribute nommé « AuthorizeOwnerAttribute » et c'est là que je vais avoir des problèmes de conception.
Pour chaque contrôleur, j'ai une dépendance sur un service. par exemple. UsersController prend un IUserService dans son constructeur.
Comment puis-je appeler AuthorizeAttribute sur un ActionResult où l'utilisateur actuellement connecté et l'utilisateur en cours d'édition ont le même "StudioId". Note: Je veux utiliser AuthorizeAttribute avec plusieurs contrôleurs, pas seulement « UserController »
Alors mes questions vous êtes:
- Que dois-je faire pour stocker « StudioId » du utilisateur courant authentifié, comme Ceci sera utilisé sur plusieurs contrôleurs.
- Comment passer l'authentification à la couche de service, car je veux valider que les demandes sont valides dans les couches de service et d'accès aux données, pas seulement sur le client. (Si cela est conseillé, je suis juste en supposant que la validation sur le client ne suffit si je veux réutiliser le BLL et DAL plus tard dans une application autonome)
Technologies utilisées: - LINQ to SQL via le modèle Repository - ASP.NET MVC Preview 2
Des recommandations ou des exemples de code seraient les bienvenus.
juste quelques précisions ... implémentez-vous un System.Web.Security.MembershipProvider? – zowens
Oui, System.Web.Security.MembershipProvider –