Quelle est l'utilisation de l'attribut d'autorisation dans l'API web C# Asp.Net ?

王林
Libérer: 2023-08-25 23:37:08
avant
1316 Les gens l'ont consulté

L'autorisation est le processus permettant de décider si un utilisateur authentifié est autorisé à effectuer une action S'il faut effectuer une opération sur une ressource spécifique (ressource API Web). Par exemple, Avoir l’autorisation d’obtenir et de publier des données fait partie de l’autorisation. ce Le processus d'autorisation a lieu avant l'exécution de la méthode d'action du contrôleur Vous donner la flexibilité de décider si nous souhaitons accorder l’accès à la ressource Ou non.

Dans l'API Web ASP.NET, l'autorisation est implémentée à l'aide de filtres d'autorisation Il sera exécuté avant l'exécution de la méthode d'action du contrôleur. API Web Fournit un filtre d'autorisation intégré AuthorizeAttribute. Ce filtre vérifie Si l'utilisateur est authentifié. Sinon, le code d'état HTTP 401 est renvoyé (Non autorisé), aucune action requise.

Nous pouvons appliquer des filtres globalement, au niveau du contrôleur ou au niveau personnel fonctionner.

Global

Pour limiter l'accès à chaque contrôleur d'API Web, ajoutez le filtre AuthorizeAttribute à Liste de filtres globale.

public static void Register(HttpConfiguration config){
   config.Filters.Add(new AuthorizeAttribute());
}
Copier après la connexion

Contrôleurs

Pour restreindre l'accès à un contrôleur spécifique, ajoutez le filtre en tant qu'attribut à contrôleur.

//Toutes les opérations sur le contrôleur nécessitent une autorisation. [Autorisation]

public class StudentsController: ApiController{
   public HttpResponseMessage Get(int id) { ... }
   public HttpResponseMessage Post() { ... }
}
Copier après la connexion

Actions

Pour restreindre l'accès à une action spécifique, ajoutez cet attribut à la méthode d'action.

public class StudentsController : ApiController{
   public HttpResponseMessage Get() { ... }
   // Require authorization for a specific action.
   [Authorize]
   public HttpResponseMessage Post() { ... }
}
Copier après la connexion

Exemple

using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [Authorize]
      public IHttpActionResult Get(){
         return Ok();
      }
   }
}
Copier après la connexion

Depuis que nous avons ajouté l'attribut d'autorisation sur la méthode d'action, la méthode d'action doit être accessible en utilisant l'autorisation appropriée (comme le jeton du porteur, la clé API, OAuth, etc.). Un accès non autorisé entraînera une réponse 401 Non autorisé comme indiqué ci-dessous.

C# Asp.Net webAPI 中的授权属性有什么用?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!