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();
}