Sobes.tech
Junior — Middle

Vysvetlite koncept používania filtrov v ASP.NET a ich úlohu pri spracovaní požiadaviek.

sobes.tech AI

Odpoveď od AI

Vo frameworku ASP.NET sú filtre komponenty, ktoré umožňujú vykonávať dodatočnú logiku pred alebo po spracovaní HTTP požiadavky kontrolérom. Pomáhajú oddeliť priečne témy, ako je autorizácia, zaznamenávanie, spracovanie chýb a kešovanie.

Úloha filtrov pri spracovaní požiadaviek:

  • Umožňujú opakovane použiť kód bez zmeny obchodnej logiky.
  • Riadi životný cyklus požiadavky, napríklad kontrolou oprávnení pred vykonaním akcie.
  • Môžu meniť vstupné údaje alebo výsledok odpovede.

Príklad použitia filtra autorizácie:

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

// Aplikácia filtra na kontrolér alebo akciu
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}