ASP.NET MVC 5 Удостоверение пользователяManager.IsInRole
Следующий код не работает, и я не могу объяснить, почему ... Мой менеджер пользователей вызывает значительные проблемы в том смысле, что он прекрасно создает пользователей и роли, но когда я запускаю этот код, userManager.IsInRole всегда возвращает false, поэтому второй Когда я запускаю семя, я сталкиваюсь с ошибками, потому что он пытается создать запись, несмотря на то, что она уже существует!
Обратите внимание, что это происходит, когда я запускаю update-database для моего проекта миграции, является ли тот факт, что это не проект ASP, вызывает проблемы, если так, то почему? не должно быть ошибки.
Это первый проект, в котором я использовал Identity, и, хотя, когда он работает, он кажется хорошим, очень мало современной документации хорошего качества, поэтому, если у кого-то есть источники для этого, я был бы признателен.
public void Run(BlogContext blogContext)
{
var userStore = new UserStore<User>((BlogContext) blogContext);
var userManager = new UserManager<User>(userStore);
var userRoles = new List<UserRole>()
{
new UserRole() {Username = "[email protected]", Role = "SysAdmin"},
new UserRole() {Username = "[email protected]", Role = "Admin"},
new UserRole() {Username = "[email protected]", Role = "Author"}
};
foreach (var userRole in userRoles)
{
var userId = userManager.FindByName(userRole.Username).Id;
if (!userManager.IsInRole(userId, userRole.Role))
userManager.AddToRole(userId, userRole.Role);
}
blogContext.SaveChanges();
}