..NET核心身份登录需要两次单击

时间:2018-12-18 22:33:41

标签: c# .net asp.net-core

我看到登录/注销路由的异常行为。我已经使用React设置了前端。单击“登录”按钮后,它将对路由/login进行ajax调用,然后该路由将运行以下登录功能:

[HttpPost]
public async Task<IActionResult> Post([FromBody] LoginModel loginModel) {
  if (!ModelState.IsValid) {
    return new BadRequestResult();
  }
  var signInResult = await SignInManager.PasswordSignInAsync(loginModel.Username, loginModel.Password, false, false);
  if (signInResult.Succeeded) {
    var currentUser = await UserManager.GetUserAsync(User);
    if (currentUser == null) {
      return new BadRequestResult();
    }
    var myUserModel = Mapper.Map<MyUser, MyUserModel>(currentUser);
    return new OkObjectResult(myUserModel);
  }
  return new BadRequestResult();
}

问题是我必须单击两次按钮。第一次单击它时,此函数会显示currentUser == null,因此返回400。但是第二次单击它,效果很好。

我正在尝试登录,然后将用户对象返回到前端。

0 个答案:

没有答案