Meine API verwendet und die HttpContext.User.IsAuthenticated
hat True
auf ihren Wert, so dass ich [Authorize]
auf meinen Controllern verwenden kann.Hinzufügen von Benutzerrollen in Runtime für ASP.NET Core API Autorisierung
Aber jetzt möchte ich rollenbasierte Authentifizierung, wie [Authorize(Policy = "TestPolicy")]
. Ich habe die gewünschten Richtlinien auf meiner Startup.cs
mit AddAuthorization(...)
Erweiterung hinzugefügt.
Die Anforderungen geben code 403
(nicht autorisiert) zurück, da die HttpContext.User.Identity.Roles nicht aufgefüllt ist.
Ich habe eine Middleware zum Auffüllen dieser Eigenschaft erstellt, und ich kann die Rollen des Benutzers mit UserManager.GetRolesAsync(user)
abrufen. Jetzt habe ich eine Liste von Benutzerrollen, aber wie kann ich dann zu dem aktuellen HttpContext.User
hinzufügen, damit der Benutzer mit den Richtlinien autorisiert werden konnte, die ich hinzufügte?
Nizza Starter-Kit Sie haben, nehmen viele Details in Betracht ziehen. – RBasniak