Heim >Backend-Entwicklung >C++ >Wie erstelle ich eine benutzerdefinierte AutorizeAttribute in ASP.NET CORE für einfache Schadenanforderungen?
Erstellen Sie eine benutzerdefinierte autorizeattribute in ASP.NET CORE, um die Anforderungen der einfachen Anweisung zu erfüllen
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
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"));
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!