Heim >Datenbank >MySQL-Tutorial >Wie können Benutzer und ihre Rollen in der .NET Core 2.1-Identität effizient abgerufen werden?

Wie können Benutzer und ihre Rollen in der .NET Core 2.1-Identität effizient abgerufen werden?

Susan Sarandon
Susan SarandonOriginal
2024-12-04 17:08:12309Durchsuche

How to Efficiently Retrieve Users and Their Roles in .NET Core 2.1 Identity?

Abrufen von Benutzern und zugehörigen Rollen in .NET Core 2.1 Identity

Viele Projekte erfordern eine Benutzerverwaltungsfunktion, um Benutzer und ihre zugehörigen Rollen zu verwalten und anzuzeigen Rollen. Das Abrufen dieser Informationen ist jedoch möglicherweise nicht einfach.

Lösung:

Anfangs war die Verwendung der Roles-Eigenschaft des IdentityUser üblich, wurde jedoch in .NET Core entfernt. Ein Ansatz, der auf aktuellen Community-Vorschlägen basiert, umfasst die Einführung zusätzlicher Klassen und die Änderung der Datenbankstruktur.

Geänderte Datenbankstruktur:

Einführung des Folgenden Klassen:

  • ApplicationUserRole
  • ApplicationRole

Erweitern von ApplicationUser mit einer UserRoles-Eigenschaft und Verweisen auf die neuen Klassen.

DbContext Änderungen:

  • Erben von IdentityDbContext mit den richtigen generischen Parametern zur Aufnahme der neuen Klassen.
  • Überschreiben der OnModelCreating-Methode, um Beziehungen herzustellen und Fremdschlüsseleinschränkungen festzulegen.

Startup-Identität Konfiguration:

  • Beibehalten der vorherigen Identitätskonfiguration und Sicherstellen, dass die richtigen generischen Parameter verwendet werden.

Eifriges Laden für Benutzerrollen:

Abschließend laden Sie beim Abrufen von Benutzern eifrig die UserRoles und die zugehörigen Funktionen Rollen:

this.Users = userManager.Users.Include(u => u.UserRoles).ThenInclude(ur => ur.Role).ToList();

ASP Core 2.2-Überlegungen:

  • IdentityUserRole wird jetzt mit Guid als Typ und nicht mit String definiert.
  • Der ModelBuilder-Code muss möglicherweise entfernt werden, um Migrationen zu ermöglichen funktionieren.

Wenn Sie diesem Ansatz folgen, können Sie Benutzer und die ihnen zugeordneten Rollen in .NET Core 2.1 Identity effektiv abrufen.

Das obige ist der detaillierte Inhalt vonWie können Benutzer und ihre Rollen in der .NET Core 2.1-Identität effizient abgerufen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn