Во время аутентификации ".FindByNameAsync()" всегда возвращает "NULL"

Я пишу проект с asp.net core mvc 2.2, моя проблема: Во время аутентификации ".FindByNameAsync()" всегда возвращает "NULL", и поэтому процесс аутентификации не успешен. Моя форма входа в систему содержит:

<form asp-controller="Account" asp-action="Login" method="post">

    <div asp-validation-summary="All" class="Danger"></div>

    <div class="form-group">
        <div>
            <input asp-for="Mobile" type="text" class="form-control" style="direction:ltr;">
            <span asp-validation-for="Mobile" class="text-danger"></span>
        </div>                        
    </div>
    <div class="form-group">
        <div>
            <input asp-for="Password" type="password" class="form-control" style="direction:ltr;">
            <span asp-validation-for="Password" class="text-danger"></span>
        </div>                        
    </div>

    <br />
    <div class="form-group">
        <div>
            <input type="submit" class="btn btn-lg btn-primary btn-block" style="text-align: center;" value="LOG IN" />
        </div>
    </div>



</form>

И мой AccountController.cs содержит:

[HttpPost]
public async Task<IActionResult> Login(Register register)
{
    if (!ModelState.IsValid)
        return View();

    var user = await _userManager.FindByNameAsync(register.Mobile);

    if(user!=null)
    {
        var result = await _signInManager.PasswordSignInAsync(user, register.Password, false, false);

        if(result.Succeeded)
        {
            return RedirectToAction("Welcome", "Account");
        }
    }

    ModelState.AddModelError("", "User name/password not found");
    return View();

}

И моя таблица базы данных:

public class Register
{

    [Key]
    [Required]
    public int Id { get; set; }
    [ForeignKey("IdFK")]
    public ICollection<Advertisement> Advertisements { get; set; }

    [Required]
    public string Mobile { get; set; }


    public string Name { get; set; }

    public string Family { get; set; }

    [Required]
    public string Password { get; set; }

    [EmailAddress]
    public string Mail { get; set; }

}

Пожалуйста, помогите мне избавиться от этой проблемы.

Я также использовал "register.Name", но это не сработало!!! Значения тоже были в БД. Я пробовал с .FindByEmailAsync(register.Mail) тоже, но это не сработало. Я использовал точку останова в начале "AccountController.cs", и я увидел, что значение "register.Mobile" было "ПРАВИЛЬНО", но, к сожалению, значение "user" все еще было "NULL"!!! Я также создал новый проект и внедрил в него предыдущий проект, но он тоже не сработал. Обратите внимание, что на моем компьютере установлены Windows 10 и VisualStudio 2017 15.9.5 и VisualStudio 2019 preview 1.1.

0 ответов

Другие вопросы по тегам