Question

Je commence à concevoir l'infrastructure d'application Web développée avec ASP.NET MVC preview 2 comme une expérience d'apprentissage. Je souhaite utiliser mon propre modèle de domaine et schéma de base de données pour l'authentification.

Je souhaite effectuer une variante de l'authentification de base de rôle. Cependant, je n'arrive pas à comprendre comment faire cela.

J'ai un utilisateur qui a accès à un "blog". Comment puis-je effectuer une autorisation lorsque l'utilisateur est dans le rôle attendu, mais que l'utilisateur appartient au "Blog" susmentionné

Un fournisseur de rôle personnalisé serait-il nécessaire ou devrais-je exécuter la logique dans un attribut d'autorisation pour les actions du contrôleur; interroger BlogId de l'utilisateur authentifié et y exécuter la logique d'autorisation. Je ne suis au courant d'aucun moyen intégré pour le faire actuellement, mais s'il y a lieu, corrigez-moi.

Si possible, un exemple de fournisseur de rôle personnalisé ou d’attribut d’autorisation fournissant cette fonctionnalité serait utile.

Merci

Était-ce utile?

La solution

Il semble que ce que vous souhaitiez, c’est la possibilité d’avoir à la fois un rôle et un contrôle de propriété. Par exemple, un utilisateur peut avoir le rôle d’auteur et d’auteur. mais il faudrait également avoir une relation de propriété avec un blog particulier pour pouvoir créer ou mettre à jour des entrées de blog. L'utilisation d'un fournisseur de rôle standard avec un attribut d'autorisation personnalisé qui sait vérifier la propriété - essentiellement une relation de clé étrangère particulière entre l'entité pour l'action et l'entrée d'utilisateur actuelle dans la base de données - semble être une méthode raisonnable ceci.

Vous trouverez un exemple de code sur ma réponse à cette question similaire .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top