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();
}
}
}
Այսպիսով, թույլտվության ֆիլտրը ապահովում է կենտրոնական և վերօգտագործելի մուտքի վերահսկման տրամաբանություն։