Sobes.tech
Junior — Middle

Leg uit wat het concept van het gebruik van filters in ASP.NET is en hun rol bij het verwerken van verzoeken.

sobes.tech AI

Antwoord van AI

In ASP.NET zijn filters componenten waarmee je extra logica kunt uitvoeren vóór of ná de verwerking van een HTTP-verzoek door de controller. Ze helpen bij het scheiden van cross-cutting concerns zoals autorisatie, logging, foutafhandeling en caching.

De rol van filters bij het verwerken van verzoeken:

  • Ze maken herbruikbare code mogelijk zonder de bedrijfslogica te wijzigen.
  • Beheren de levenscyclus van het verzoek, bijvoorbeeld door toegangsrechten te controleren voordat een actie wordt uitgevoerd.
  • Kunnen inkomende gegevens of het resultaat van de reactie wijzigen.

Voorbeeld van het gebruik van een autorisatiefilter:

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

// Toepassen van het filter op de controller of actie
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}