Ich habe eine Webforms-Anwendung, die mit ASP.NET-Mitgliedschaft erstellt wurde. Ich bin erfolgreich zu Identitäten migriert.Ändern von Rollen Autorisierung zu Ansprüche Autorisierung
Ich möchte jetzt die Berechtigungsberechtigungen anstelle der Rollenberechtigung verwenden, aber die Rolleninformationen für die alten Benutzer wurden in die Tabelle AspNetUserRoles
in der Datenbank migriert, aber die Tabelle AspNetUserClaims
ist leer.
IdentityResult result1 = manager.AddClaim(user.Id, new Claim(ClaimTypes.Role, "role"));
Aber die alten Benutzer registriert sind nur in der AspNetUserRoles
Tabelle nicht in der AspNetUserClaims
Tabelle: Neue Benutzer nach der Migration registriert, kann ich AspNetUserClaims
mit dem folgenden Code hinzufügen.
Auf Login wird der erstellte Anspruch umfasst Rolleninformationen aus der
AspNetUserRoles
Tabelle auch oder nur von demAspNetUserClaims
Tisch?Wird die
User.IsInRole()
sowohl die TabelleAspNetUserRoles
als auch die TabelleAspNetUserClaims
prüfen? Wie kann ich Informationen von der TabelleAspNetUserRoles
in die TabelleAspNetUserClaims
migrieren?
Dies ist sehr hilfreich und informativ! Einige davon hatte ich angefangen, durch Debugging zu entwirren. Vielen Dank! –
Wenn ich Sie in Bezug auf Frage 1 verstanden habe, ist es bei der Registrierung eines neuen Benutzers ausreichend, seine Rolle in der UserRoles-Tabelle zu registrieren. Es besteht keine Notwendigkeit, seine Rolle in der UserClaims-Tabelle zu registrieren. Ist das korrekt? –
@DovMiller Rollen sind Rollen, keine Notwendigkeit, die gleichen Informationen in Ansprüche zu setzen. Du bist also hier richtig. – trailmax