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