Junior — Middle
Izskaidrojiet filtru izmantošanas koncepciju ASP.NET un to lomu pieprasījumu apstrādē
sobes.tech AI
Atbilde no AI
ASP.NET filtru komponenti ir, kas ļauj veikt papildu loģiku pirms vai pēc HTTP pieprasījuma apstrādes kontrolierī. Tie palīdz atdalīt šķērsgriezuma uzdevumus, piemēram, autorizāciju, reģistrēšanu, kļūdu apstrādi un kešatmiņu.
Filtru loma pieprasījumu apstrādē:
- Atļauj atkārtoti izmantot kodu bez biznesa loģikas maiņas.
- Pārvalda pieprasījuma dzīves ciklu, piemēram, pārbaudot piekļuves tiesības pirms darbības izpildes.
- Var mainīt ienākošos datus vai atbildes rezultātu.
Autorizācijas filtra piemērs:
public class CustomAuthorizationFilter : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
if (!context.HttpContext.User.Identity.IsAuthenticated)
{
context.Result = new UnauthorizedResult();
}
}
}
// Filtra piemērošana kontrolierim vai darbībai
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
return View();
}