I am working on an ASP.NET Core MVC 6 application that uses ASP.NET Core identity and I am facing an issue trying to figure out how to work with the UserManager class.
But UserManager always has null value, I do not know why?
Is ASP.NET Core 6 does not have identity in controllers? and identity scaffolded items are in Razor pages?
This is Code:
public class AccountController : Controller
{
private ApplicationSignInManager _signInManager;
private ApplicationUserManager _userManager;
public BaseController(ApplicationUserManager userManager, ApplicationSignInManager signInManager)
{
UserManager = userManager;
SignInManager = signInManager;
}
public ApplicationSignInManager SignInManager
{
get
{
return _signInManager;
}
private set
{
_signInManager = value;
}
}
public ApplicationUserManager UserManager
{
get
{
return _userManager;
}
private set
{
_userManager = value;
}
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterVM model)
{
if (ModelState.IsValid)
{
var user = new User
{
UserName = model.Email,
Email = model.Email,
EmailConfirmed = true
};
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent: false);
return RedirectToAction("Index", "Home");
}
foreach (var error in result.Errors)
{
ModelState.AddModelError(string.Empty, error.Description);
}
}
return View(model);
}
}