Heim  >  Artikel  >  Backend-Entwicklung  >  Wozu dient das Autorisierungsattribut in C# Asp.Net webAPI?

Wozu dient das Autorisierungsattribut in C# Asp.Net webAPI?

王林
王林nach vorne
2023-08-25 23:37:081348Durchsuche

Autorisierung ist der Prozess der Entscheidung, ob ein authentifizierter Benutzer eine Aktion ausführen darf Ob ein Vorgang für eine bestimmte Ressource (Web-API-Ressource) ausgeführt werden soll. Zum Beispiel, Die Erlaubnis, Daten zu erhalten und zu veröffentlichen, ist Teil der Autorisierung. Das Der Autorisierungsprozess findet vor der Ausführung der Controller-Aktionsmethode statt Geben Sie Ihnen Flexibilität bei der Entscheidung, ob wir Zugriff auf die Ressource gewähren möchten Oder auch nicht.

In der ASP.NET-Web-API wird die Autorisierung mithilfe von Autorisierungsfiltern implementiert Es wird ausgeführt, bevor die Controller-Aktionsmethode ausgeführt wird. Web-API Bietet den integrierten Autorisierungsfilter AuthorizeAttribute. Dieser Filter prüft Ob der Benutzer authentifiziert ist. Wenn nicht, wird der HTTP-Statuscode 401 zurückgegeben (Nicht autorisiert), keine Aktion erforderlich.

Wir können Filter global anwenden, auf Controller-Ebene oder auf persönlicher Ebene arbeiten.

Global

Um den Zugriff auf jeden Web-API-Controller einzuschränken, fügen Sie den AuthorizeAttribute-Filter hinzu Globale Filterliste.

public static void Register(HttpConfiguration config){
   config.Filters.Add(new AuthorizeAttribute());
}

Controller

Um den Zugriff auf einen bestimmten Controller einzuschränken, fügen Sie den Filter als Attribut hinzu Regler.

//Alle Vorgänge am Controller erfordern eine Autorisierung. [Autorisierung]

public class StudentsController: ApiController{
   public HttpResponseMessage Get(int id) { ... }
   public HttpResponseMessage Post() { ... }
}

Aktionen

Um den Zugriff auf eine bestimmte Aktion einzuschränken, fügen Sie dieses Attribut zur Aktionsmethode hinzu.

public class StudentsController : ApiController{
   public HttpResponseMessage Get() { ... }
   // Require authorization for a specific action.
   [Authorize]
   public HttpResponseMessage Post() { ... }
}

Beispiel

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

Da wir der Aktionsmethode das Autorisierungsattribut hinzugefügt haben, sollte auf die Aktionsmethode mit der entsprechenden Autorisierung zugegriffen werden (wie Inhabertoken, API-Schlüssel, OAuth usw.). Ein unbefugter Zugriff führt zu einer 401 Unauthorized-Antwort, wie unten gezeigt.

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

Das obige ist der detaillierte Inhalt vonWozu dient das Autorisierungsattribut in C# Asp.Net webAPI?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Schlüssel-Wert-Paare in C#Nächster Artikel:Schlüssel-Wert-Paare in C#