好吧,出于某种原因,每次我创建一个用户时,都没有为其分配指定的角色。
这是我正在创建用户的部分:
AppUser NUser = new AppUser()
{
UserName = registration.Username,
FirstName = registration.FirstName,
LastName = registration.LastName,
Email = registration.Email,
ZIPCode = registration.ZIPCode,
EmailVerificationCode = RandomKey.AssignRandomKey(ref userManager),
Courses = new List<CourseModel>()
};
userManager.Create(NUser, registration.Password);
userManager.AddToRole(NUser.Id, registration.Role);
dbContext.SaveChanges();
现在,我需要将用户置于特定角色中,我这样做:
IdentityRole professorRole = roleManager.FindByName("Profesor");
List<AppUser> professors = userManager.Users.Where(u => u.Roles.Any(r => r.RoleId == professorRole.Id)).ToList();
我认为这是正确的,如果用户在他们的收藏中扮演角色,我们会接受它们。
但是,在我调试时,我意识到用户不是用角色创建的,这就是我的意思:
教授角色是IdentityRole,不应该在该角色中拥有用户列表(IdentityUserRole)吗?它说零。有人能告诉我这里缺少什么吗?