


ASP.NET Core-Autorisierung: Die Rolle des Autorisierers verstehen
In ASP.NET Core ist ein Autorisierer eine Komponente, die prüft, ob ein Benutzer über die erforderlichen Berechtigungen zum Ausführen einer bestimmten Aktion verfügt. Es ist wie ein Gatekeeper für die Ressourcen Ihrer Anwendung. Wenn ein Benutzer eine Ressource anfordert oder eine Aktion ausführt, wird der Autorisierer aufgerufen, um zu prüfen, ob der Benutzer über die entsprechende Berechtigung zum Zugriff auf diese Ressource oder zum Ausführen dieser Aktion verfügt. Wenn der Benutzer nicht über die erforderlichen Berechtigungen verfügt, verweigert der Autorisierer den Zugriff und gibt einen Fehler zurück. Nehmen wir beispielsweise an, Sie verfügen über eine Web-API, die es Benutzern ermöglicht, Produkte zu erstellen, zu lesen, zu aktualisieren und zu löschen (CRUD). Sie können einen Autorisierer verwenden, um zu überprüfen, ob der Benutzer über die entsprechende Berechtigung zum Ausführen jeder dieser Aktionen verfügt. Wenn der Benutzer nicht über die erforderlichen Berechtigungen verfügt, verweigert der Autorisierer den Zugriff und gibt einen Fehler zurück. Autorisierer können auf verschiedene Arten implementiert werden, beispielsweise durch die Verwendung benutzerdefinierter Attribute, Filter oder Middleware. Sie können auch in andere Authentifizierungs- und Autorisierungssysteme wie OAuth oder OpenID Connect integriert werden.
In ASP.NET Core hei+t der integrierte Autorisierer „DefaultAuthorizationPolicy“ und basiert auf der Klasse „AuthorizeAttribute“. Dieses Attribut kann auf Controller, Aktionen und sogar einzelne Parameter angewendet werden, um die erforderlichen Berechtigungen für den Zugriff anzugeben. Hier ist beispielsweise ein Beispiel dafür, wie Sie das AuthorizeAttribute verwenden können, um zu verlangen, dass ein Benutzer die Rolle „Admin“ hat, um auf eine bestimmte Datei zuzugreifen action:
```
[Authorize(Roles = "Admin")]
public IActionResult MyAction()
{
// Diese Aktion ist nur für Benutzer mit der Admin-Rolle zugänglich
}
```
In diesem Beispiel ist das AuthorizeAttribute Wird auf die Methode „MyAction“ angewendet und erfordert, dass der Benutzer über die Rolle „Admin“ verfügt, um darauf zugreifen zu können. Wenn der Benutzer nicht über die Rolle „Admin“ verfügt, wird ihm der Zugriff verweigert und es wird eine Fehlermeldung zurückgegeben.



