MVC中无效的登录尝试



我当前正在更改MVC5项目的默认模板(具有身份)。当我第一次注册和登录时,一切都很好。但是,当我在默认级别上进行一些更改时,将用户名存储为电子邮件。但是,当我将其更改为"从形式"中存储用户名时,它会尝试"无效"登录尝试。谁能告诉我我出了什么问题。如果是,我要么必须在其他地方进行更改?

这是我的寄存器功能:

之前:

var user = new ApplicationUser { UserName = model.Email, Email = model.Email };

我已将这一行更改为:

var user = new ApplicationUser { UserName = model.usrName, Email = model.Email , PhoneNumber=model.Contact};

,我的登录功能是默认情况下的。喜欢,

public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
    {
        if (!ModelState.IsValid)
        {
            return View(model);
        }
        // This doesn't count login failures towards account lockout
        // To enable password failures to trigger account lockout, change to shouldLockout: true
        var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                return RedirectToLocal(returnUrl);
            case SignInStatus.LockedOut:
                return View("Lockout");
            case SignInStatus.RequiresVerification:
                return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return View(model);
        }
    }

现在,有人可以告诉我我错了吗?

如果要将用户名从 model.Email更改为 model.usrName,则必须在登录功能中使用 model.usrName。这样:

var result = await SignInManager.PasswordSignInAsync(model.usrName, model.Password, model.RememberMe, shouldLockout: false);

因为UserNamePassword字段是要登录的默认唯一参数。因此,它希望使用用户名字段完成登录操作。

相关内容

  • 没有找到相关文章

最新更新