내 관리 사용자에게 관리 역할을 부여하는 데 문제가 있습니다. 일단 사용자를 생성하고 성공하면 AddToRoleAsync와 함께 관리 역할을 추가하려고 시도합니다. 그러나 왜 그것이 추가되지 않는지 나는 확신하지 못한다. 그런 다음 관리자에게 관리자 역할이없는 경우 관리자가 추가 할 수 있도록 확인을 시도했습니다. 명령이 실행되는 것처럼 보이지만 데이터베이스에 추가 된 것을 볼 수 없습니다. 당신은 전체 DbIntilizer를 원하거나 더 많은 코드가 알려 경우시드 관리 데이터베이스 역할 추가하지 않음
public async Task CreateAdmin()
{
// Add roles
string[] roles = new string[] {"Administrator", "User"};
foreach(string role in roles)
{
bool result = await _roleManager.RoleExistsAsync(role);
if(!result)
{
await _roleManager.CreateAsync(new IdentityRole(role));
}
}
// Add admin user
if (!_context.Users.Any(u => u.UserName == "Admin"))
{
var user = new Users
{
Email="[email protected]",
NormalizedEmail="[email protected]",
UserName="[email protected]",
NormalizedUserName="ADMIN",
EmailConfirmed = true,
};
var result = await _userManager.CreateAsync(user, "Password123");
}
var adminuser = await _userManager.FindByEmailAsync("[email protected]");
bool flag = await _userManager.IsInRoleAsync(adminuser, "Administrator");
if(!flag)
{
var role = await _roleManager.FindByNameAsync("Administrator");
await _userManager.AddToRoleAsync(adminuser, "Administrator");
}
}
:
이
내 코드입니다.누구나 내가 뭘 잘못하고 있는지 알아?
편집 이 http://www.locktar.nl/programming/net-core/seed-database-users-roles-dotnet-core-2-0-ef/ 를 따라 그것을 재 작업 지금은 작동합니다.
감사를 발견했다. 나는 이것을 대신 사용할 것이다. – bu3alwa