L'attribut [Authorize] utilisé avec les contrôleurs ASP.NET MVC fonctionne-t-il uniquement avec les sites qui ont implémenté un MembershipProvider?L'attribut [Authorize] pour les contrôleurs ASP.NET MVC est-il réservé uniquement aux fournisseurs d'appartenance?
Répondre
Je suis assez sûr que oui. J'imagine que vous pourriez jouer le vôtre et mettre en œuvre une méthode similaire d'authentification/autorisation.
L'attribut [Authorize]
est un filtre d'action. Il va saisir le IPrincipal
et vérifier si l'utilisateur est authentifié ou si vous spécifiez des rôles et/ou des utilisateurs avec l'attribut, il va se comparer à ceux-ci.
Il existe plusieurs façons d'authentifier une requête Web. Tout de l'identification ouverte à l'authentification de Windows. Découvrez cette question pour un exemple OpenID et plus de liens pour implémenter l'authentification de cette façon: StackOverflow Question 961468
La réponse courte est non. Il vérifie juste qu'il y a un IPrincipal, comment cela dépend de vous. J'ai ma propre logique de connexion que j'utilise à la place du fournisseur d'adhésion, une fois que j'ai authentifié un utilisateur, j'appelle simplement la méthode FormsAuthentication.SetAuthCookie. Une fois cela fait, vous pouvez utiliser l'attribut [Authenticate].