UserManager 的 CreateAsync 方法不起作用(Identity)



My Post方法

[HttpPost]
public async Task<IActionResult> Register()
{
User user = new User { Email = "asfa@gmail.com", UserName = "asfa@gmail.com" };
var result = await _userManager.CreateAsync(user, "SS22!faasd");
if (result.Succeeded)
{
// install cookie
await _signInManager.SignInAsync(user, false);
}
else
{
foreach (var error in result.Errors)
{
//how can i see my errors here
}
}
return Ok();
}

我正在尝试使用UserManager和CreateAsync方法创建用户,但它不起作用。在《邮差》里,我总是收到200 OK

UserManager连接到我的数据库,因为我可以用get方法获取我的用户。

而且我没有任何cshtml文件,所以我不能在页面上输出错误。

在邮递员中,我总是能得到200 OK。

您总是得到200 OK,因为在方法的末尾,您将返回OK()方法。

为了获得一些其他状态消息,请考虑检查用户是否已创建,然后才返回OK()方法,否则要么抛出异常,如下所示:

throw new ArgumentException("Wasn't able to add user")

或者返回一些HTTPError,比如:

return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Not able to create user");

注意:当您尝试添加新用户时,如果用户已经存在,您也可以抛出异常。


我试图用UserManager和CreateAsync方法创建用户,但它不起作用。

这与您的_userManager.CreateAsync方法逻辑有关。请重新访问。

要查找错误,我返回OK(result),并在poster中看到此错误。

最新更新