I need to create CRUD operations for ROLES.
I'm getting the following error:
"Unable to resolve service for type 'Microsoft.AspNetCore.Identity.RoleManager`"
So, how can i inject roleManager?
I'm using asp net core 2.0 + identity 2.2.1
Class ApplicationUser
public class ApplicationUser : IdentityUser
{
[Key]
public override string Id { get; set; }
public bool Type { get; set; }
}
Now in Startup.cs
services.AddIdentity<ApplicationUser, IdentityRole<int>>()
.AddUserStore<UserStore<ApplicationUser, IdentityRole<int>, ApplicationDbContext, int>>()
.AddRoleStore<RoleStore<IdentityRole<int>, ApplicationDbContext, int>>()
.AddDefaultTokenProviders();
Controller
private readonly UserManager<ApplicationUser> _userManager;
private readonly RoleManager<IdentityUser> _roleManager;
public RolesController(UserManager<ApplicationUser> userManager, RoleManager<IdentityUser> roleManager)
{
_userManager = userManager;
_roleManager = roleManager;
}
public IActionResult Index()
{
return View(_roleManager.Roles);
}
And so, i get error: "Unable to resolve service for type 'Microsoft.AspNetCore.Identity.RoleManager`.
You should use .AddRoleManager<> instead of AddRoleStore<>. Or both in case you want to create new roles. If you are not using custom stores try with: AddEntityFrameworkStores
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<YourContext>()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With