Junior — Middle
Vysvětlete koncept používání filtrů v ASP.NET a jejich roli při zpracování požadavků
sobes.tech AI
Odpověď od AI
V ASP.NET jsou filtry komponenty, které umožňují provádět dodatečnou logiku před nebo po zpracování HTTP požadavku kontrolerem. Pomáhají oddělit průřezové úkoly, jako je autorizace, protokolování, zpracování chyb a ukládání do mezipaměti.
Role filtrů při zpracování požadavků:
- Umožňují znovu použitelnost kódu bez změny obchodní logiky.
- Řídí životní cyklus požadavku, například kontrolou oprávnění před provedením akce.
- Mohou měnit vstupní data nebo výsledek odpovědi.
Příklad použití autorizačního filtru:
public class CustomAuthorizationFilter : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
if (!context.HttpContext.User.Identity.IsAuthenticated)
{
context.Result = new UnauthorizedResult();
}
}
}
// Použití filtru na kontroler nebo akci
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
return View();
}