У меня есть приложение ASP.NET MVC 5. Я использую стандартный поставщик ASP.NET Identity для управления пользователями и ролями. Очень важно, что я использую IdentityUser из собственного проекта репозитория, но это выглядит нормально. Я могу регистрироваться, регистрироваться, редактировать пользователей и управлять их ролями.
Я добавляю пользователя к роли с этими строками:
UserManager.AddToRole(userdetail.Id, r);
db.Entry(userdetail).State = EntityState.Modified;
db.SaveChanges();
Кажется, что он работает на уровне DB.
Но я не могу использовать аутентификацию на основе ролей, на самом деле просто
HttpContext.User.IsInRole("Administrator")
тоже не работает.
[Authorize(Roles="Administrator")]
тоже не работает.
Я могу проверить только этот метод, независимо от того, является ли пользователь администратором:
UserManager.IsInRole(userID, "Administrator").
Почему?
В каждом учебнике, что я нашел, все работает нормально. Может быть причиной другого репозитория проекта? Или ASP.NET Identity так сильно нарушена?
Пожалуйста, совет,