untuk mencapai logik kebenaran yang disesuaikan. Kaedah ini tidak lagi wujud dalam AuthorizeAttribute
. bool AuthorizeCore(HttpContextBase httpContext)
AuthorizeAttribute
kaedah semasa menggunakan strategi
Define Strategy in :
Startup.cs
options.AddPolicy("YourPolicyName", policy => policy.RequireClaim(...));
[Authorize]
menggunakan atribut kebenaran yang disesuaikan dengan pernyataan
[Authorize(Policy = "YourPolicyName")] public IActionResult Action(...)
cara menggunakan contoh: IAuthorizationFilter
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(); } } }
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kebenaran tersuai di Core ASP.NET menggunakan tuntutan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!