Policy Based Authorization

Policy Based Authorization امکان تعریف قوانین دسترسی پیچیده‌تر از Role را در ASP.NET Core فراهم می‌کند.

تعریف Policy


builder.Services.AddAuthorization(options =>
{
    options.AddPolicy("AdultOnly", policy =>
        policy.RequireClaim("Age", "18"));
});

استفاده از Policy


[Authorize(Policy = "AdultOnly")]
public IActionResult Restricted()
{
    return View();
}

مزایای Policy

  • قوانین قابل توسعه
  • استفاده از Claimها
  • پیاده‌سازی منطق‌های پیچیده دسترسی
  • خوانایی بیشتر نسبت به شرط‌های پراکنده در کد

جمع‌بندی

Policy Based Authorization انعطاف‌پذیرترین روش مدیریت دسترسی در ASP.NET Core است و برای سیستم‌های بزرگ و سازمانی پیشنهاد می‌شود.