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