asp.net-core
Tillstånd
Sök…
Enkel auktorisation
Autorisation i asp.net-kärnan är helt enkelt AuthorizeAttribute
[Authorize]
public class SomeController : Controller
{
public IActionResult Get()
{
}
public IActionResult Post()
{
}
}
Detta tillåter bara en inloggad användare åtkomst till dessa åtgärder.
eller använd följande för att bara begränsa en enda åtgärd
public class SomeController : Controller
{
public IActionResult Get()
{
}
[Authorize]
public IActionResult Post()
{
}
}
Om du vill tillåta alla användare att komma åt en av åtgärderna kan du använda AllowAnonymousAttribute
[Authorize]
public class SomeController: Controller
{
public IActionResult Get()
{
}
[AllowAnonymous]
public IActionResult Post()
{
}
}
Nu kan Post
nås av alla användare. AllowAnonymous
kommer alltid som en prioritering att godkänna, så om en controller är inställd på AllowAnonymous
så är alla dess handlingar offentliga, oavsett om de har en AuthorizeAttribute
eller inte.
Det finns ett alternativ att ställa in alla controllers att kräva godkända förfrågningar -
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
})
Detta görs genom att lägga till en standardautorisationspolicy till varje controller - alla Authorize
/ AllowAnonymous
attribut över en controller / åtgärd åsidosätter dessa inställningar.