首页 >数据库 >mysql教程 >如何在.NET Core 2.1 Identity中高效检索用户及其角色?

如何在.NET Core 2.1 Identity中高效检索用户及其角色?

Susan Sarandon
Susan Sarandon原创
2024-12-04 17:08:12292浏览

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

在 .NET Core 2.1 Identity 中检索用户和关联角色

许多项目需要用户管理功能来管理和显示用户及其关联的角色角色。但是,获取此信息可能并不简单。

解决方案:

最初,利用 IdentityUser 的 Roles 属性很常见,但已在 .NET Core 中删除。基于最近社区建议的一种方法涉及引入额外的类和修改数据库结构。

修改数据库结构:

引入以下内容类:

  • ApplicationUserRole
  • ApplicationRole

使用 UserRoles 属性和对新类的引用扩展 ApplicationUser。

数据库上下文修改:

  • 使用正确的泛型参数继承 IdentityDbContext 以适应新类。
  • 重写 OnModelCreating 方法以建立关系并设置外键约束。

初创企业身份配置:

  • 维护之前的身份配置并确保使用正确的通用参数。

用户角色的热切加载:

最后,在检索用户时,立即加载 UserRoles 及其关联的角色:

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

ASP Core 2.2 注意事项:

  • IdentityUserRole 现在定义为 Guid 作为类型,而不是字符串。
  • 可能需要删除模型构建器代码以允许迁移

通过遵循这种方法,您可以有效地检索 .NET Core 2.1 Identity 中的用户及其关联角色。

以上是如何在.NET Core 2.1 Identity中高效检索用户及其角色?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn