Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'autorizzazione in ASP.NET Core viene controllata con l'attributo [Authorize] e i relativi vari parametri. Nel formato più semplice, applicando l'attributo [Authorize] a un componente Razor, controller, azione o Razor Page, limita l'accesso a tale componente agli utenti autenticati.
Questo articolo illustra gli scenari relativi alle app MVC. Per la copertura primaria su questo argomento, vedere l'autorizzazione Simple in ASP.NET Core.
attributo
L'esempio seguente limita access agli utenti autenticati specificando l'attributo [Authorize]:
[Authorize]
public class AccountController : Controller
{
public ActionResult Login() { ... }
public ActionResult Logout() { ... }
}
L'attributo supporta anche l'autorizzazione basata su ruoli o basata su criteri. Per l'autorizzazione basata sui ruoli, usare il parametro . Nell'esempio seguente, l'utente può accedere alla pagina solo se si trova nel ruolo Admin o Superuser.
[Authorize(Roles = "Admin, Superuser")]
public class OrderController : Controller
{
...
}
Per l'autorizzazione basata su criteri, usare il parametro . Nell'esempio seguente, l'utente può accedere alla pagina solo se soddisfa i requisiti del criterio di autorizzazione Over21:
[Authorize(Policy = "Over21")]
public class LicenseApplicationController : Controller
{
...
}
Se non viene specificato né né , usa i criteri predefiniti:
- Gli utenti autenticati (connessi) sono autorizzati.
- Gli utenti non autenticati (non collegati) non sono autorizzati.
Per applicare l'autorizzazione a un'azione anziché al controller, applicare l'attributo all'azione. Nell'esempio seguente solo gli utenti autenticati possono attivare una disconnessione (chiamare il metodo ):
public class AccountController : Controller
{
public ActionResult Login() { ... }
[Authorize]
public ActionResult Logout() { ... }
}
Usare l'attributo [AllowAnonymous] per consentire access da utenti non autenticati alle singole azioni:
[AllowAnonymous]
Avviso
Per i controller MVC, l'attributo ignora le istruzioni di autorizzazione. Se combini [] e uno o più attributi [], gli attributi [] vengono ignorati. Se si applica a livello del controller:
- Tutti i requisiti di autorizzazione degli attributi sullo stesso controller o ai metodi di azione del controller vengono ignorati.
- Il middleware di autenticazione non viene interrotto, ma non deve necessariamente avere successo.
Per informazioni su come richiedere l'autenticazione per tutti gli utenti dell'app, vedere Creare un'app ASP.NET Core con i dati utente protetti dall'autorizzazione.
Risorse aggiuntive
- Autorizzazione semplice in ASP.NET Core
- Autorizzazione semplice in ASP.NET Core Pages