Autorizzazione semplice in ASP.NET CoreSimple authorization in ASP.NET Core

Autorizzazione in MVC è controllata tramite il AuthorizeAttribute attributo e i relativi parametri diversi.Authorization in MVC is controlled through the AuthorizeAttribute attribute and its various parameters. Nella forma più semplice, applicare il AuthorizeAttribute attributo a un controller o azione verrà limitato l'accesso al controller o azione per tutti gli utenti autenticati.At its simplest, applying the AuthorizeAttribute attribute to a controller or action limits access to the controller or action to any authenticated user.

Ad esempio, il codice riportato di seguito limitano l'accesso al AccountController da qualsiasi utente autenticato.For example, the following code limits access to the AccountController to any authenticated user.

[Authorize]
public class AccountController : Controller
{
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

Se si desidera applicare l'autorizzazione a un'azione piuttosto che il controller, applicare il AuthorizeAttribute dell'attributo dell'azione stessa:If you want to apply authorization to an action rather than the controller, apply the AuthorizeAttribute attribute to the action itself:

public class AccountController : Controller
{
   public ActionResult Login()
   {
   }

   [Authorize]
   public ActionResult Logout()
   {
   }
}

È ora possono accedere solo agli utenti autenticati di Logout (funzione).Now only authenticated users can access the Logout function.

È anche possibile usare il AllowAnonymous attributo per consentire l'accesso gli utenti non autenticati a singole azioni.You can also use the AllowAnonymous attribute to allow access by non-authenticated users to individual actions. Ad esempio:For example:

[Authorize]
public class AccountController : Controller
{
    [AllowAnonymous]
    public ActionResult Login()
    {
    }

    public ActionResult Logout()
    {
    }
}

In questo modo solo gli utenti autenticati per il AccountController, tranne che per il Login azione, che è accessibile da parte degli utenti, indipendentemente dal loro stato autenticato o non autenticato o anonimo.This would allow only authenticated users to the AccountController, except for the Login action, which is accessible by everyone, regardless of their authenticated or unauthenticated / anonymous status.

Avviso

[AllowAnonymous] Consente di ignorare tutte le istruzioni di autorizzazione.[AllowAnonymous] bypasses all authorization statements. Se si combinano [AllowAnonymous] e l'eventuale [Authorize] attributo, il [Authorize] gli attributi vengono ignorati.If you combine [AllowAnonymous] and any [Authorize] attribute, the [Authorize] attributes are ignored. Ad esempio se si applicano [AllowAnonymous] a livello di controller, qualsiasi [Authorize] attributi allo stesso controller (o in qualsiasi azione all'interno di esso) viene ignorato.For example if you apply [AllowAnonymous] at the controller level, any [Authorize] attributes on the same controller (or on any action within it) is ignored.