Verwenden Sie eine Anweisung im ASP.NET -Kern, um maßgeschneiderte Autorisierungsattribute
bietet eine bequeme Möglichkeit, auf der Grundlage der Erklärung zu arbeiten. In der vorherigen Version können Sie jedoch AuthorizeAttribute
umschreiben, um eine kundenspezifische Autorisierungslogik zu erreichen. Diese Methode existiert in bool AuthorizeCore(HttpContextBase httpContext)
nicht mehr. AuthorizeAttribute
Startup.cs
options.AddPolicy("YourPolicyName", policy => policy.RequireClaim(...));
[Authorize]
[Authorize(Policy = "YourPolicyName")] public IActionResult Action(...)
IAuthorizationFilter
wie man Beispiele verwendet: AuthorizeAttribute
public class ClaimRequirementAttribute : TypeFilterAttribute { public ClaimRequirementAttribute(string claimType, string claimValue) : base(typeof(ClaimRequirementFilter)) { Arguments = new object[] { new Claim(claimType, claimValue) }; } } public class ClaimRequirementFilter : IAuthorizationFilter { private readonly Claim _claim; public ClaimRequirementFilter(Claim claim) { _claim = claim; } public void OnAuthorization(AuthorizationFilterContext context) { bool hasClaim = context.HttpContext.User.Claims.Any(c => c.Type == _claim.Type && c.Value == _claim.Value); if (!hasClaim) { context.Result = new ForbidResult(); } } }
-Methode in Ihrem Filter können Sie die Autorisierungslogik gemäß der Anweisung angeben.
Das obige ist der detaillierte Inhalt vonSo implementieren Sie benutzerdefinierte Autorisierung in ASP.NET Core mit Ansprüchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!