asp.net-core
Autorisation
Recherche…
Autorisation simple
L'autorisation dans le noyau asp.net est simplement AuthorizeAttribute
[Authorize]
public class SomeController : Controller
{
public IActionResult Get()
{
}
public IActionResult Post()
{
}
}
Cela permettra uniquement à un utilisateur connecté d'accéder à ces actions.
ou utilisez ce qui suit pour limiter une seule action
public class SomeController : Controller
{
public IActionResult Get()
{
}
[Authorize]
public IActionResult Post()
{
}
}
Si vous souhaitez autoriser tous les utilisateurs à accéder à l'une des actions, vous pouvez utiliser AllowAnonymousAttribute
[Authorize]
public class SomeController: Controller
{
public IActionResult Get()
{
}
[AllowAnonymous]
public IActionResult Post()
{
}
}
Maintenant, n'importe quel utilisateur peut accéder à Post
. AllowAnonymous
toujours une priorité à autoriser, donc si un contrôleur est défini sur AllowAnonymous
toutes ses actions sont publiques, qu'elles aient ou non un AuthorizeAttribute
.
Il existe une option permettant de configurer tous les contrôleurs pour exiger des requêtes autorisées -
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
})
Cela se fait en ajoutant une stratégie d'autorisation par défaut à chaque contrôleur - tout attribut Authorize
/ AllowAnonymous
sur un contrôleur / action remplacera ces paramètres.