我正在开发一个新的ASP.NET MVC Core 2.0,并且我使用ASP.NET Identity作为该站点的成员系统。但是,即使我的SignInManager
在登录尝试后返回SignInStatus.Success
,我也无法登录用户。
这是登录功能的控制器代码:
public async Task<IActionResult> Login(LoginViewModel model)
{
var user = _db.Users.Where(x => x.Email == model.Email).FirstOrDefault();
if (!ModelState.IsValid)
return View();
var result = await _signinManager.PasswordSignInAsync(
model.Email, model.Password,
model.RememberMe, false
);
if (!result.Succeeded)
{
ModelState.AddModelError("", "Login error");
return View();
}
if (user.Role == "Admin")
{
return RedirectToAction("Users");
}
return RedirectToAction("Account");
}
答案 0 :(得分:0)
确保在Startup.cs文件中设置了身份服务和中间件。
确保在Configure方法中有app.UseAuthentication
。使用services.ConfigureApplicationCookie
检查article