当ASP.NET Core登录失败时,如何找出登录失败的原因?

时间:2020-10-16 09:50:43

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

我正在使用ASP.NET Core Identity来管理用户。当我尝试登录用户时,得到以下响应:

{
    type: "Error",
    message: "Not logged in",
    data: {
        succeeded: false,
        isLockedOut: false,
        isNotAllowed: false,
        requiresTwoFactor: false
    }
}

如您所见,用户尚未登录,并且没有其他原因是 true

我现在应该怎么做才能找出“为什么”用户尚未登录?如何在这里找到错误?

我使用的方法是PasswordSignInAsync,返回的结果是SignInResult,它没有错误描述字段。

1 个答案:

答案 0 :(得分:0)

我使用的方法是PasswordSignInAsync,它返回的结果是SignInResult,它没有错误说明字段。

要解决此问题,可以参考以下代码片段检查用户是否已存在/注册,然后检查给定的密码对于指定用户是否有效。

//check if user is existing 
var user = await _userManager.FindByEmailAsync(Input.Email); //or .FindByNameAsync(username_here)


//check if pwd is valid
var pwd_is_valid = _userManager.CheckPasswordAsync(user, Input.Password);

而且,您可以尝试调试代码,并检查是否有任何有用的日志写入输出窗口。

enter image description here

此外,您可以尝试注册新用户并使用该新用户的帐户登录,以检查其是否可以正常工作。

相关问题