Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Autorisierung in ASP.NET Core wird mit dem Attribut [Authorize] und den verschiedenen Parametern gesteuert. In ihrer einfachsten Form beschränkt das Anwenden des [Authorize]-Attributs auf eine Razor-Komponente, einen Controller, eine Aktion oder eine Razor-Seite den Zugriff auf authentifizierte Benutzer.
Dieser Artikel verwendet BlazorRazor Komponentenbeispiele und konzentriert sich auf Blazor Autorisierungsszenarien. Razor Informationen zu Seiten und MVC-Anleitungen finden Sie in den folgenden Ressourcen nach dem Lesen dieses Artikels:
[Authorize]-Attribut
Blazor Geben Sie in Apps das [Authorize] Attribut oben in einer Razor Komponentendatei (.razor) an. Im folgenden Beispiel können nur authentifizierte Benutzer auf die Seite zugreifen.
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Von Bedeutung
Verwenden Sie das [Authorize] Attribut nur für @page Komponenten, die über den Blazor Router erreicht wurden. Die Autorisierung wird nur als Aspekt des Routings und nicht für untergeordnete Komponenten ausgeführt, die innerhalb einer Seite gerendert werden. Um die Anzeige bestimmter Teile auf einer Seite zu autorisieren, verwenden Sie stattdessen eine AuthorizeView-Komponente, die in ASP.NET Core Blazor Authentifizierung und Autorisierung beschrieben wird.
Das [Authorize] Attribut kann auch auf alle Razor Komponenten in einer Blazor App oder eine Teilmenge von Razor Komponenten in einem Ordner mithilfe einer Importdatei (_Imports.razor) angewendet werden. Fügen Sie eine @using Direktive für den Microsoft.AspNetCore.Authorization Namespace mit einer @attribute Direktive für das [Authorize] Attribut hinzu:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
Das [Authorize] Attribut unterstützt auch die rollenbasierte oder richtlinienbasierte Autorisierung. Verwenden Sie für die rollenbasierte Autorisierung den Roles-Parameter. Im folgenden Beispiel kann der Benutzer die Seite nur access, wenn er sich in der Rolle Admin oder Superuser befindet:
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
Verwenden Sie für die richtlinienbasierte Autorisierung den Policy Parameter. Im folgenden Beispiel kann der Benutzer die Seite nur access, wenn er die Anforderungen der Over21Authorisierungsrichtlinie erfüllt:
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Wenn weder Roles noch Policy angegeben wird, verwendet [Authorize] die Standardrichtlinie:
- Authentifizierte (angemeldete) Benutzer werden autorisiert.
- Nicht authentifizierte (abgemeldete) Benutzer werden nicht autorisiert.
Wenn der Benutzer nicht autorisiert ist und, falls die App nicht nicht autorisierte Inhalte mit der Router Komponente anpasst, zeigt das Framework automatisch die folgende Fallbackmeldung an:
Not authorized.
Weitere Informationen zu Blazor Authentifizierung und Autorisierung finden Sie unter ASP.NET Core Blazor Authentifizierung und Autorisierung.
Verwenden Sie das Attribut [AllowAnonymous], um nicht authentifizierten Benutzern den Zugriff auf einzelne Aktionen zu ermöglichen.
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
Informationen zum Anfordern der Authentifizierung für alle App-Benutzer finden Sie unter Erstellen Sie eine ASP.NET Core-App mit durch Autorisierung geschützten Benutzerdaten.