Sobes.tech
Junior — Middle

Εξηγήστε την έννοια της χρήσης φίλτρων στο ASP.NET και τον ρόλο τους στην επεξεργασία αιτημάτων.

sobes.tech AI

Απάντηση από AI

Στο ASP.NET, τα φίλτρα είναι συστατικά που επιτρέπουν την εκτέλεση πρόσθετης λογικής πριν ή μετά την επεξεργασία ενός αιτήματος HTTP από τον ελεγκτή. Βοηθούν στη διαχωρισμό διασταυρούμενων εργασιών όπως η εξουσιοδότηση, η καταγραφή, η διαχείριση σφαλμάτων και η προσωρινή αποθήκευση.

Ο ρόλος των φίλτρων στην επεξεργασία αιτημάτων:

  • Επιτρέπουν την επαναχρησιμοποίηση κώδικα χωρίς να αλλάξουν τη λογική επιχειρήσεων.
  • Διαχειρίζονται τον κύκλο ζωής του αιτήματος, π.χ., ελέγχοντας τα δικαιώματα πρόσβασης πριν από την εκτέλεση μιας ενέργειας.
  • Μπορούν να τροποποιήσουν τα εισερχόμενα δεδομένα ή το αποτέλεσμα της απάντησης.

Παράδειγμα χρήσης φίλτρου εξουσιοδότησης:

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

// Εφαρμογή του φίλτρου στον ελεγκτή ή στην ενέργεια
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}