3
使用ASP.NET MVC5用戶身份,我試圖在視圖中顯示IdentityUser的角色名稱。如何在View中獲取IdentityUser角色的名字?
看起來Identity用戶具有Roles屬性,它代表IdentityUserRole
的集合,而不是IdentityRole
。所不同的是IdentityUserRole
IdentityUser
表示和IdentityRole
之間的關聯,而IdentityRole
是實際Role
模型[+]。顯然在IdentityUser和IdentityRole之間沒有定義導航。所以我們得到的是IdentityUserRole
的RoleId。
- 有沒有簡單的方法來獲取角色名稱?
- 使用Fluent API,我們可以在整個項目中定義
IdentityRole
和IdentityUserRole
之間的虛擬導航屬性,以便輕鬆獲取名稱 ? - 如果是設計,不讓我們直接獲得
IdentityRole
的好處是什麼?
我建議你得到角色選擇身份UserRole的在控制器/操作中,並將其作爲屬性傳遞給視圖,這意味着您要傳遞的模型的一部分。如果不是,你可能需要擴展IPrincipal或IIdentity屬性來包含角色,那麼你可以得到它像HttpContext.Current.User.Identity.Roles。 – DSR 2014-11-24 10:37:11
我假設你現在已經找到了答案,即使這裏沒有任何東西,所以我想知道它是什麼。此時,我在ViewBag中存儲IdentityRole對象的字典表示形式,並通過視圖代碼中的IdentityUserRole.RoleId訪問它們。它的工作原理,但我並不感到激動。 – 2015-04-08 02:01:27