#c# #asp.net-core #authentication #asp.net-core-identity
#c# #asp.net-core #аутентификация #asp.net-core-identity
Вопрос:
Я использую ASP.NET Базовая идентификация для управления пользователями. И я получаю этот ответ, когда пытаюсь войти в систему пользователя:
{
type: "Error",
message: "Not logged in",
data: {
succeeded: false,
isLockedOut: false,
isNotAllowed: false,
requiresTwoFactor: false
}
}
Как вы можете видеть, пользователь не вошел в систему, и никакая другая причина не верна.
Что мне теперь делать, чтобы выяснить, «почему» пользователь не вошел в систему? Как найти ошибку здесь?
Метод, который я использую PasswordSignInAsync
, и результат, который он возвращает SignInResult
, и у него нет поля для описания ошибки.
Комментарии:
1. Привет @tayebepourmand, есть какие-либо обновления по этому делу?
Ответ №1:
Метод, который я использую, — 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);
И вы можете попробовать отладить свой код и проверить, записаны ли какие-либо полезные журналы в окно вывода.
Кроме того, вы можете попробовать зарегистрировать нового пользователя и войти в систему с учетной записью этого нового пользователя, чтобы проверить, может ли он работать хорошо.