Sobes.tech
Junior — Middle

Máte zkušenosti s filtry autorizace v aplikacích?

sobes.tech AI

Odpověď od AI

V C#, filtry autorizace se často používají v ASP.NET Core k řízení přístupu k prostředkům aplikace. Umožňují zkontrolovat, zda má uživatel potřebná práva, před tím, než se provede akce kontroleru.

Příklad jednoduchého filtru autorizace:

public class CustomAuthorizationFilter : IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        var user = context.HttpContext.User;
        if (!user.Identity.IsAuthenticated)
        {
            context.Result = new UnauthorizedResult();
        }
        // Další kontroly rolí nebo práv lze přidat zde
    }
}

Tento filtr lze aplikovat na kontroler nebo akci pomocí atributu:

[ServiceFilter(typeof(CustomAuthorizationFilter))]
public class MyController : Controller
{
    // Akce
}

Tímto způsobem filtry autorizace umožňují centralizovanou správu přístupu a usnadňují údržbu bezpečnosti v aplikaci.