Sobes.tech
Back to questions
Junior — Middle
71

Имел ли опыт работы с фильтрами авторизации в приложениях?

Answer from AI

sobes.tech AI

В C# фильтры авторизации часто используются в ASP.NET Core для контроля доступа к ресурсам приложения. Они позволяют проверить, имеет ли пользователь необходимые права, прежде чем выполнить действие контроллера.

Пример простого фильтра авторизации:

public class CustomAuthorizationFilter : IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        var user = context.HttpContext.User;
        if (!user.Identity.IsAuthenticated)
        {
            context.Result = new UnauthorizedResult();
        }
        // Дополнительные проверки ролей или прав можно добавить здесь
    }
}

Этот фильтр можно применить к контроллеру или действию через атрибут:

[ServiceFilter(typeof(CustomAuthorizationFilter))]
public class MyController : Controller
{
    // Действия
}

Таким образом, фильтры авторизации позволяют централизованно управлять доступом и упрощают поддержку безопасности в приложении.