Инициализация входа нового пользователя в роль «Пользователь» (EntityFramework / RoleManager) - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь создать профиль пользователя с ролью «Пользователь» при первом входе в систему.Приведенный ниже код создает профиль пользователя, но роль назначается неправильно.Можете ли вы определить, что мне не хватает?

var roleStore = new RoleStore<IdentityRole>(context);
var appRoleManager = new RoleManager<IdentityRole>(roleStore, null, null, null, null, null);
var userStore = new UserStore<IdentityUser>(context);

if (!context.Users.Any(u => u.UserName == userName))
{
    // Create new user
    var newUser = new IdentityUser {
        Email = userName,
        NormalizedEmail = userName,
        UserName = userName,
        NormalizedUserName = userName,
        EmailConfirmed = true,
        PhoneNumberConfirmed = true,
        SecurityStamp = Guid.NewGuid().ToString("D")
    };

    var roleFound = await appRoleManager.FindByNameAsync("User");

    var userRole = new IdentityUserRole<string> {
        RoleId = roleFound.Id
    };

    newUser.Roles.Add(userRole);

    await userStore.CreateAsync(newUser);
}

return NoContent();
...