Applicare l'attributo [Autorizza] in modo implicito a tutti i controller dell'API Web

Applicare l'attributo [Autorizza] in modo implicito a tutti i controller dell'API Web

Hai due opzioni

  1. Livello di controller decorando il tuo controller con l'attributo di autorizzazione.

    [Authorize]
    [RoutePrefix("api/account")]
    public class AccountController : ApiController
    {
    
  2. Puoi anche impostarlo a livello globale su tutte le rotte, in Register metodo del file WebApiConfig.cs

     config.Filters.Add(new AuthorizeAttribute());
    

Puoi impostare il AuthorizeAttribute al WebApiConfig file come di seguito:

public static void Register(HttpConfiguration config)
{
  config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
  );
  config.Filters.Add(new AuthorizeAttribute());
}

Ora tutti i metodi dai controller Web Api avranno bisogno dell'autorizzazione. Se desideri rimuovere questo requisito di autorizzazione per un metodo, devi aggiungere l'attributo [AllowAnonymous] come nel metodo di azione di accesso.