Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk melaksanakan kebenaran tersuai di Core ASP.NET menggunakan tuntutan?
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
<code class="language-csharp"> options.AddPolicy("YourPolicyName", policy => policy.RequireClaim(...));</code>
[Authorize]
menggunakan atribut kebenaran yang disesuaikan dengan pernyataan
<code class="language-csharp"> [Authorize(Policy = "YourPolicyName")] public IActionResult Action(...)</code>Jika kaedah berasaskan strategi tidak berkenaan, anda boleh menggunakan antara muka
cara menggunakan contoh: IAuthorizationFilter
AuthorizeAttribute
<code class="language-csharp">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(); } } }</code>dalam penapis anda, anda boleh menentukan logik kebenaran mengikut pernyataan.
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!