Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Autorisatie in ASP.NET Core wordt beheerd met het kenmerk [Authorize] en de verschillende parameters. In de meest eenvoudige vorm, het toepassen van het kenmerk [Authorize] op een Razor component, controller, actie of Razor Page, beperkt access tot dat onderdeel voor geverifieerde gebruikers.
In dit artikel worden voorbeelden van onderdelen gebruikt BlazorRazor en wordt aandacht besteed aan Blazor autorisatiescenario's. Zie de volgende bronnen na het lezen van dit artikel voor Razor pagina's en MVC-richtlijnen:
[Authorize]-kenmerk
Geef in Blazor-apps het attribuut [Authorize] op bovenaan in een Razor-componentbestand (.razor). In het volgende voorbeeld kunnen alleen geauthenticeerde gebruikers toegang krijgen tot de pagina.
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Belangrijk
Gebruik alleen het [Authorize] kenmerk voor @page onderdelen die zijn bereikt via de Blazor router. Autorisatie wordt alleen uitgevoerd als een aspect van routering en niet voor onderliggende onderdelen die op een pagina worden weergegeven. Als u de weergave van specifieke onderdelen binnen een pagina wilt autoriseren, gebruikt u in plaats daarvan een AuthorizeView-onderdeel, dat wordt beschreven in ASP.NET Core Blazor verificatie en autorisatie.
Het [Authorize] kenmerk kan ook worden toegepast op alle Razor onderdelen in een Blazor app of een subset van onderdelen in een map met behulp van Razor een importbestand (_Imports.razor). Voeg een @using instructie toe voor de Microsoft.AspNetCore.Authorization naamruimte met een @attribute instructie voor het [Authorize] kenmerk:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
Het [Authorize] kenmerk ondersteunt ook autorisatie op basis van rollen of beleid. Gebruik de parameter Roles voor autorisatie op basis van rollen. In het volgende voorbeeld kan de gebruiker de pagina alleen openen als deze zich in de rol Admin of Superuser bevindt:
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
Gebruik de Policy parameter voor autorisatie op basis van beleid. In het volgende voorbeeld kan de gebruiker de pagina alleen access als deze voldoet aan de vereisten van het Over21verificatiebeleid:
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Als er geen Roles of Policy is opgegeven, gebruikt [Authorize] het standaardbeleid:
- Geverifieerde (aangemelde) gebruikers zijn gemachtigd.
- Niet-geverifieerde (afgemelde) gebruikers zijn niet gemachtigd.
Wanneer de gebruiker niet is geautoriseerd en de app geen niet-geautoriseerde inhoud met het Router onderdeel aanpast, wordt in het framework automatisch het volgende terugvalbericht weergegeven:
Not authorized.
Zie Blazor voor meer informatie over Blazor verificatie en autorisatie.
Gebruik het kenmerk [AllowAnonymous] om access door niet-geverifieerde gebruikers toe te staan voor afzonderlijke acties:
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
Zie Maak een ASP.NET Core-app met gebruikersgegevens die zijn beveiligd door autorisatie voor meer informatie over het vereisen van verificatie voor alle app-gebruikers.