Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Auktorisering i ASP.NET Core styrs med attributet [Authorize] och dess olika parametrar. Om du använder attributet [Authorize] på en Razor komponent, kontrollant, åtgärd eller Razor-sida, begränsas access till komponenten för autentiserade användare.
Den här artikeln använder BlazorRazor komponentexempel och fokuserar på Blazor auktoriseringsscenarier. Vägledning för Razor sidor och MVC finns i följande resurser när du har läst den här artikeln:
[Authorize]-attribut
I Blazor appar anger du [Authorize] attributet överst i en Razor komponentfil (.razor). I följande exempel kan endast autentiserade användare access sidan:
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Viktigt!
Använd endast attributet[Authorize] på @page komponenter som nås via routernBlazor. Auktorisering utförs endast som en aspekt av routning och inte för underordnade komponenter som återges på en sida. Om du vill auktorisera visning av specifika delar på en sida använder du i stället en AuthorizeView komponent, som beskrivs i ASP.NET Core Blazor autentisering och auktorisering.
Attributet[Authorize] kan också tillämpas på alla komponenter i en Blazor app eller en delmängd av komponenterna i en mapp med hjälp av RazorRazor en importfil (_Imports.razor). Lägg till ett @using direktiv för Microsoft.AspNetCore.Authorization namnområdet med ett @attribute direktiv för attributet[Authorize]:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
Attributet [Authorize] stöder även rollbaserad eller principbaserad auktorisering. Använd parametern Roles för rollbaserad auktorisering. I följande exempel kan användaren bara access sidan om de är i rollen Admin eller Superuser:
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
Använd parametern för Policy principbaserad auktorisering. I följande exempel kan användaren bara access sidan om de uppfyller kraven i Over21authorization policy:
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Om varken Roles eller Policy anges använder [Authorize] standardprincipen:
- Autentiserade (inloggade) användare har behörighet.
- Oautentiserade (utloggade) användare är obehöriga.
När användaren inte har behörighet och om appen inte anpassar obehörigt innehåll med komponentenRouter, visar ramverket automatiskt följande återställningsmeddelande:
Not authorized.
Mer information om Blazor autentisering och auktorisering finns i ASP.NET Core Blazor autentisering och auktorisering.
Använd attributet [AllowAnonymous] för att tillåta icke-autentiserade användare att komma åt de enskilda åtgärderna.
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
Information om hur du kräver autentisering för alla appanvändare finns i Skapa en ASP.NET Core app med användardata som skyddas av auktorisering.
Ytterligare resurser
ASP.NET Core