Junior — Middle
Wyjaśnij koncepcję używania filtrów w ASP.NET i ich rolę w obsłudze żądań
sobes.tech AI
Odpowiedź od AI
W ASP.NET filtry to komponenty, które umożliwiają wykonywanie dodatkowej logiki przed lub po obsłudze żądania HTTP przez kontroler. Pomagają one w oddzieleniu zadań przekrojowych, takich jak autoryzacja, logowanie, obsługa błędów i buforowanie.
Rola filtrów w obsłudze żądań:
- Umożliwiają ponowne użycie kodu bez zmiany logiki biznesowej.
- Zarządzają cyklem życia żądania, na przykład sprawdzając uprawnienia przed wykonaniem akcji.
- Mogą modyfikować dane wejściowe lub wynik odpowiedzi.
Przykład użycia filtra autoryzacji:
public class CustomAuthorizationFilter : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
if (!context.HttpContext.User.Identity.IsAuthenticated)
{
context.Result = new UnauthorizedResult();
}
}
}
// Zastosowanie filtra do kontrolera lub akcji
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
return View();
}