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();
}