asp.net-core
Autorizzazione
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.