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

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

王林
Freigeben: 2023-08-25 23:37:08
nach vorne
1384 Leute haben es durchsucht

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());
}
Nach dem Login kopieren

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() { ... }
}
Nach dem Login kopieren

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() { ... }
}
Nach dem Login kopieren

Beispiel

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

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage