Sobes.tech
Junior — Middle

Erklären Sie das Konzept der Verwendung von Filtern in ASP.NET und ihre Rolle bei der Verarbeitung von Anfragen

sobes.tech KI

Antwort von AI

In ASP.NET sind Filter Komponenten, die es ermöglichen, zusätzliche Logik vor oder nach der Verarbeitung einer HTTP-Anfrage durch den Controller auszuführen. Sie helfen dabei, Querschnittsaufgaben wie Autorisierung, Protokollierung, Fehlerbehandlung und Caching zu trennen.

Rolle der Filter bei der Anfrageverarbeitung:

  • Ermöglichen die Wiederverwendung von Code, ohne die Geschäftslogik zu ändern.
  • Steuern den Lebenszyklus der Anfrage, z.B. durch Überprüfung der Zugriffsrechte vor der Ausführung einer Aktion.
  • Können eingehende Daten oder das Ergebnis der Antwort ändern.

Beispiel für die Verwendung eines Autorisierungsfilters:

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

// Anwendung des Filters auf den Controller oder die Aktion
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}