首頁 >資料庫 >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
  • Application
  • 使用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