Heim > Backend-Entwicklung > C++ > Wie erstelle ich eine benutzerdefinierte AutorizeAttribute in ASP.NET CORE für einfache Schadenanforderungen?

Wie erstelle ich eine benutzerdefinierte AutorizeAttribute in ASP.NET CORE für einfache Schadenanforderungen?

Susan Sarandon
Freigeben: 2025-02-01 18:21:09
Original
774 Leute haben es durchsucht

How to Create a Custom AuthorizeAttribute in ASP.NET Core for Simple Claim Requirements?

Erstellen Sie eine benutzerdefinierte autorizeattribute in ASP.NET CORE, um die Anforderungen der einfachen Anweisung zu erfüllen

In der frühen Version von ASP.NET Core können Sie eine benutzerdefinierte

erstellen, indem Sie bool AuthorizeCore(HttpContextBase httpContext) neu schreiben. Diese Methode existiert jedoch nicht mehr in . AuthorizeAttribute AuthorizeAttribute Die aktuelle Methode zum Erstellen von benutzerdefiniertem

besteht darin, ein neues strategisches Design und das Dokument

hier AuthorizeAttribute zu verwenden. Die Grundidee dieser neuen Methode besteht darin, die neue -Funktion zu verwenden, um eine "Strategie" anzugeben (z. B. ). oder mehr). [Authorize] [Authorize(Policy = "YouNeedToBe18ToDoThis")] Strategisches Design ist eine gute Ergänzung zum Framework, und das Kernteam der ASP.NET -Sicherheit sollte dies dafür loben. Mit anderen Worten, es ist nicht für alle Situationen geeignet. Der Nachteil dieser Methode besteht darin, dass sie keine bequeme Lösung für die häufigsten Bedürfnisse darstellt: einfach eine bestimmte Controller oder eine Betriebserklärung geltend machen, die angegeben werden muss. Wenn die Anwendung möglicherweise Hunderte von diskreten Berechtigungen zur Verwaltung von CRUD -Operationen auf einer einzelnen REST -Ressource ("Cancreaterorder", "CanReadordorder", "Canupdateorder", "Candeleteorder" usw.) verfügt Name wiederholen Sie eine Zuordnung (z. B. Startup.cs), schreiben Sie entweder einen Code, um diese Registrierungen während der Laufzeit durchzuführen (z. B. lesen Sie alle Arten von Deklarationen aus der Datenbank und führen Sie die obigen Anrufe im Zyklus aus). In den meisten Fällen ist das Problem dieser Methode, dass es sich um einen überschüssigen Overhead handelt.

Obwohl das ASP.NET -Kernsicherheitsteam empfiehlt, in einigen Fällen keine eigene Lösung zu erstellen, ist dies möglicherweise die vorsichtigste Startoption. options.AddPolicy("CanUpdateOrder", policy => policy.RequireClaim(MyClaimTypes.Permission, "CanUpdateOrder"));

Folgendes ist die Implementierung von .

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine benutzerdefinierte AutorizeAttribute in ASP.NET CORE für einfache Schadenanforderungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage