Sobes.tech
Junior — Middle

Objasnite koncept korišćenja filtera u ASP.NET i njihovu ulogu u obradi zahteva

sobes.tech АИ

Одговор од АИ

U ASP.NET, filteri su komponenti koje omogućavaju izvršavanje dodatne logike pre ili posle obrade HTTP zahteva od strane kontrolera. Oni pomažu u razdvajanju zadataka kao što su autorizacija, beleženje, rukovanje greškama i keširanje.

Uloga filtera u obradi zahteva:

  • Omogućavaju ponovno korišćenje koda bez promene poslovne logike.
  • Upravlja životnim ciklusom zahteva, na primer, proverom prava pristupa pre izvršavanja akcije.
  • Mogu menjati ulazne podatke ili rezultat odgovora.

Primer korišćenja filtera za autorizaciju:

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

// Primena filtera na kontroler ili akciju
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}