Ricerca…


Autorizzazione semplice

L'autorizzazione in asp.net core è semplicemente AuthorizeAttribute

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

    public IActionResult Post()
    {
    }
}

Ciò consentirà solo a un utente connesso di accedere a queste azioni.

o utilizzare quanto segue per limitare solo una singola azione

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

    [Authorize]
    public IActionResult Post()
    {
    }
}

Se si desidera consentire a tutti gli utenti di accedere a una delle azioni, è possibile utilizzare AllowAnonymousAttribute

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

Ora è possibile accedere a Post con qualsiasi utente. AllowAnonymous sempre la priorità di autorizzare, quindi se un controller è impostato su AllowAnonymous tutte le sue azioni sono pubbliche, indipendentemente dal fatto che abbiano un AuthorizeAttribute o meno.

C'è un'opzione per impostare tutti i controller per richiedere richieste autorizzate -

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

Questo viene fatto aggiungendo un criterio di autorizzazione predefinito a ciascun controller: qualsiasi Attributo Authorize / AllowAnonymous su un controller / azione sovrascriverà queste impostazioni.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow