Maison  >  Article  >  développement back-end  >  Quelle est l’utilisation de l’attribut d’autorisation dans l’API web C# Asp.Net ?

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

王林
王林avant
2023-08-25 23:37:081301parcourir

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());
}

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() { ... }
}

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() { ... }
}

Exemple

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Paires clé-valeur en C#Article suivant:Paires clé-valeur en C#