C# 如何让用户角色检查它是什么?
因此,我正在开发我的第一个ASP.NET COre 3.0 MVC应用程序,我刚刚进入了C# 如何让用户角色检查它是什么?,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,因此,我正在开发我的第一个ASP.NET COre 3.0 MVC应用程序,我刚刚进入了Identity,现在我想在列表中显示用户角色,这就是我所做的 @model CoreBuddyLite.ViewModel.UserManagementIndexViewModel <tbody> @foreach (var user in Model.Users) { <tr> <td&
Identity
,现在我想在列表中显示用户角色,这就是我所做的
@model CoreBuddyLite.ViewModel.UserManagementIndexViewModel
<tbody>
@foreach (var user in Model.Users)
{
<tr>
<td>@user.UserName</td>
</tr>
}
</tbody>
我不应该把它作为属性添加到我的UserAccount类中,因为它来自IdentityUser
public class UserAccount : IdentityUser
{
}
IdentityUser
和IdentityRole
是两种不同的类型
正如JamesS所指出的,在用户
和角色
之间有一个复合连接。您可以在表AspNetUserRoles
中找到。它将AspNetUsers
和AspNetUserRoles
表链接在一起
我不认为实体框架在ASP.NET CORE 3中是标准的,但是如果您已经在使用它,您可以在控制器中使用\u context
对象(ApplicationDbContext
)来使用fluent API和Include()
方法构建列表
否则,您可能希望按照建议在SQL中执行存储过程或查看路由
但是,请记住,ApplicationUser
可能有许多角色,因此razor视图必须包含嵌套的foreach()
循环
使用版本3不适合胆小的人,我钦佩你的勤奋。为什么不创建一个存储过程,根据用户id返回所有角色?我可以,但显然
角色
不是身份服务器的一部分,或者我遗漏了什么?这是真的,但是AspNetUserRoles通常使用用户ID为AspNetUser提供一个外键
public class UserAccount : IdentityUser
{
}