Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է թույլտվության ֆիլտրը վեբ հավելվածների համատեքստում?

sobes.tech AI

Պատասխան AI-ից

Վեբ հավելվածների թույլտվության ֆիլտրն այն բաղադրիչն է, որը միջամտում է HTTP հարցումներին և ստուգում է, արդյոք օգտվողը ունի անհրաժեշտ իրավունքները՝ խնդրվող ռեսուրսին մուտք գործելու համար:

Նա աշխատում է այն ժամանակ, երբ հարցումը դեռ չի հասել կոնտրոլերին կամ մշակողին, և կարող է՝

  • Ստուգել օգտվողի տոքենի կամ սեսիայի առկայությունն ու վավերությունը:
  • Հիմնավորել, արդյոք թույլատրված է մուտք գործել կոնկրետ URL կամ գործողություն:
  • Հղել անիրազեկ օգտվողներին մուտքի էջ կամ ցույց տալ սխալ:

Օրինակ, ASP.NET-ում, թույլտվության ֆիլտրը իրականացնում է IAuthorizationFilter ինտերֆեյսի կամ այն ​​ատրիբուտների միջոցով, որոնք կարող են կիրառվել կոնտրոլերների և մեթոդների վրա:

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

Այսպիսով, թույլտվության ֆիլտրը ապահովում է կենտրոնական և վերօգտագործելի մուտքի վերահսկման տրամաբանություն։