ASP.NET 5 Autorisieren gegen zwei oder mehr Richtlinien
Ist es möglich, die Autorisierung gegen zwei oder mehr Richtlinien? Ich bin mit ASP.NET 5, rc1.
[Authorize(Policy = "Limited,Full")]
public class FooBarController : Controller
{
//This code doesn't work
}
Wenn nicht, wie kann ich dies erreichen, ohne über Politik? Es gibt zwei Gruppen von Benutzern, die Zugriff auf den controller: "Voll" und "Begrenzt". Benutzer können entweder gehören "Voll" oder "Begrenzt", oder beide. Sie benötigen nur gehören zu einer der beiden Gruppen, um Zugriff auf diese controller.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht so, wie Sie wollen; die Politik sind entworfen, um kumulative. Zum Beispiel, wenn Sie zwei getrennte Attribute, dann müssen Sie beide übergeben.
Müssen Sie auswerten ODER Bedingungen innerhalb einer einzigen Richtlinie. Aber Sie nicht haben, um code als ORs innerhalb einer einzelnen Prozedur. Sie haben eine Anforderung, die mehr als ein handler. Wenn entweder der Handler flag Erfolg, dann ist die Anforderung erfüllt. Siehe Schritt 6 in meinem Berechtigungs-Workshop.
[AllowAnonymous]
wo erforderlich). Fühlt sich an wie ein antipattern, aber ich könnte mich dumm!Einmal einrichten einer neuen Politik "LimitedOrFull" (vorausgesetzt, Sie entsprechen den Anspruch Typ-Namen) erstellen Sie eine Anforderung wie diese:
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-2.1#using-a-func-to-fulfill-a-policy
Net Core hat eine option, um mehrere AuthorizationHandlers, die die gleiche AuthorizationRequirement geben. Nur eines dieser haben um erfolgreich zu sein, um pass-Berechtigung
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/policies?view=aspnetcore-2.1#why-would-i-want-multiple-handlers-for-a-requirement
versuchen, mit Rolle stattdessen