Zoeken…


Eenvoudige autorisatie

Autorisatie in asp.net core is gewoon AuthorizeAttribute

[Authorize]
public class SomeController : Controller
{
    public IActionResult Get()
    {
    }

    public IActionResult Post()
    {
    }
}

Hierdoor krijgt een ingelogde gebruiker alleen toegang tot deze acties.

of gebruik het volgende om slechts één actie te beperken

public class SomeController : Controller
{
    public IActionResult Get()
    {
    }

    [Authorize]
    public IActionResult Post()
    {
    }
}

Als u alle gebruikers toegang wilt geven tot een van de acties, kunt u AllowAnonymousAttribute

[Authorize]
public class SomeController: Controller
{
    public IActionResult Get()
    {
    }
    
    [AllowAnonymous]
    public IActionResult Post()
    {
    }
}

Nu is Post voor elke gebruiker toegankelijk. AllowAnonymous komt altijd als een prioriteit om te autoriseren, dus als een controller is ingesteld op AllowAnonymous zijn alle acties openbaar, ongeacht of ze een AuthorizeAttribute of niet.

Er is een optie om alle controllers in te stellen op geautoriseerde verzoeken -

services.AddMvc(config =>
{
    var policy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .Build();
    config.Filters.Add(new AuthorizeFilter(policy));
}) 

Dit wordt gedaan door een standaard autorisatiebeleid toe te voegen aan elke controller - elke Authorize / AllowAnonymous Attributen boven een controller / actie zullen deze instellingen vervangen.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow