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