ASP MVC:如何从 ApplicationUser 获取角色
本文关键字:ApplicationUser 获取 角色 MVC ASP | 更新日期: 2023-09-27 18:31:35
在 MVC 5 ASP.NET 中,在控制器中,我已将发出请求的用户与:
ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId());
使用 ApplicationUser 实例,如何获取用户的所有角色?
您可以使用用户管理器获取用户和分配的角色。
var userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
然后你可以像你已经做的那样获取你的用户,你也可以通过调用GetRoles方法来获取特定用户的角色
userManager.GetRoles(userId);
List<string> roles = new UserManager().GetRoles(userIdString)).ToList();
下面需要的类是使用 VS 2015 在 4.5 项目中使用 ASP.NET 自动创建的。 文件名为 IdentityModels.cs。
默认安装了 4 个 Nuget 包,包括 Microsoft.AspNet.WebApi v5.2.3
public class UserManager : UserManager<ApplicationUser>
{
public UserManager()
: base(new UserStore<ApplicationUser>(new ApplicationDbContext()))
{
}
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection")
{
}
}
public class ApplicationUser : IdentityUser
{
}