Maison >base de données >tutoriel mysql >Comment récupérer efficacement les utilisateurs et leurs rôles dans l'identité .NET Core 2.1 ?

Comment récupérer efficacement les utilisateurs et leurs rôles dans l'identité .NET Core 2.1 ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 17:08:12309parcourir

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

Récupération des utilisateurs et des rôles associés dans l'identité .NET Core 2.1

De nombreux projets nécessitent une fonctionnalité de gestion des utilisateurs pour gérer et afficher les utilisateurs et leurs associés. rôles. Cependant, l'obtention de ces informations peut ne pas être simple.

Solution :

Au départ, l'utilisation de la propriété Roles d'IdentityUser était courante, mais elle a été supprimée dans .NET Core. Une approche basée sur les suggestions récentes de la communauté consiste à introduire des classes supplémentaires et à modifier la structure de la base de données.

Structure de la base de données modifiée :

Présentation des classes suivantes :

  • ApplicationUserRole
  • ApplicationRole

Extension ApplicationUser avec une propriété UserRoles et des références aux nouvelles classes.

Modifications de DbContext :

  • Héritage d'IdentityDbContext avec les paramètres génériques corrects pour s'adapter aux nouvelles classes.
  • Remplacer la méthode OnModelCreating pour établir des relations et définir une clé étrangère contraintes.

Configuration de l'identité de démarrage :

  • Maintenir la configuration d'identité précédente et garantir que les paramètres génériques corrects sont utilisés.

Chargement impatient des rôles d'utilisateur :

Enfin, quand récupérant les utilisateurs, chargez avec impatience les UserRoles et leurs rôles associés :

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

Considérations ASP Core 2.2 :

  • IdentityUserRole est désormais défini avec Guid comme type , pas une chaîne.
  • Le code ModelBuilder devra peut-être être supprimé pour permettre les migrations vers work.

En suivant cette approche, vous pouvez récupérer efficacement les utilisateurs et leurs rôles associés dans l'identité .NET Core 2.1.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn