Sobes.tech
Junior — Middle

Spiega il concetto di utilizzo dei filtri in ASP.NET e il loro ruolo nell'elaborazione delle richieste

sobes.tech AI

Risposta dell'AI

In ASP.NET, i filtri sono componenti che consentono di eseguire logica aggiuntiva prima o dopo l'elaborazione di una richiesta HTTP da parte del controller. Aiutano a separare compiti trasversali come autorizzazione, registrazione, gestione degli errori e caching.

Ruolo dei filtri nell'elaborazione delle richieste:

  • Permettono di integrare codice riutilizzabile senza modificare la logica di business.
  • Gestiscono il ciclo di vita della richiesta, ad esempio verificando i permessi prima di eseguire un'azione.
  • Possono modificare i dati in ingresso o il risultato della risposta.

Esempio di utilizzo di un filtro di autorizzazione:

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

// Applicazione del filtro al controller o all'azione
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}