Sobes.tech
Junior — Middle

Selgitage filtrite kasutamise kontseptsiooni ASP.NET-is ja nende rolli päringute töötlemisel

sobes.tech AI

Vastus AI-lt

ASP.NET filtri on komponendid, mis võimaldavad täiendavat loogikat täita enne või pärast HTTP-päringu töötlemist kontrolleri poolt. Nad aitavad eraldada ristküljelisi ülesandeid nagu autoriseerimine, logimine, vigade käsitlemine ja vahemälu.

Filtrite roll päringute töötlemisel:

  • Annab võimaluse taaskasutada koodi ilma äriloogikat muutmata.
  • Halda päringu elutsüklit, näiteks kontrollides juurdepääsuõigusi enne tegevuse täitmist.
  • Võivad muuta sisendeid või vastuse tulemust.

Näide autoriseerimisfiltri kasutamisest:

public class CustomAuthorizationFilter : Attribute, IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        if (!context.HttpContext.User.Identity.IsAuthenticated)
        {
            context.Result = new UnauthorizedResult();
        }
    }
}

// Filtri rakendamine kontrollerile või tegevusele
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}