Buscar..


Autorización simple

La autorización en el núcleo de asp.net es simplemente AuthorizeAttribute

[Authorize]
public class SomeController : Controller
{
    public IActionResult Get()
    {
    }

    public IActionResult Post()
    {
    }
}

Esto solo permitirá que un usuario registrado acceda a estas acciones.

o usa lo siguiente para limitar solo una acción

public class SomeController : Controller
{
    public IActionResult Get()
    {
    }

    [Authorize]
    public IActionResult Post()
    {
    }
}

Si desea permitir que todos los usuarios accedan a una de las acciones, puede usar AllowAnonymousAttribute

[Authorize]
public class SomeController: Controller
{
    public IActionResult Get()
    {
    }
    
    [AllowAnonymous]
    public IActionResult Post()
    {
    }
}

Ahora se puede acceder a la Post por cualquier usuario. AllowAnonymous siempre es una prioridad para autorizar, por lo que si un controlador está configurado en AllowAnonymous , todas sus acciones son públicas, independientemente de si tienen un AllowAnonymous AuthorizeAttribute o no.

Hay una opción para configurar todos los controladores para que requieran solicitudes autorizadas -

services.AddMvc(config =>
{
    var policy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .Build();
    config.Filters.Add(new AuthorizeFilter(policy));
}) 

Esto se hace agregando una política de autorización predeterminada a cada controlador: cualquier atributo Authorize / AllowAnonymous sobre un controlador / acción anulará esta configuración.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow