我可以使用任何密码进行身份验证。电子邮件必须是有效的注册电子邮件,但密码无关紧要。其他一切工作正常。
关于从哪里开始解决这个问题的任何建议?我在网络搜索中没有发现任何类似的问题。
我的观点...
我在帐户控制器中的操作...
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(AccountLoginModel viewModel)
{
if (!ModelState.IsValid)
return View(viewModel);
var user = _manager.FindByEmail(viewModel.Email);
if (user != null)
{
await SignInAsync(user, viewModel.RememberMe);
string uid = user.Id;
return RedirectToLocal(viewModel.ReturnUrl);
}
ModelState.AddModelError("", "Invalid username or password.");
return View(viewModel);
}
和signinasync方法...
private async Task SignInAsync(IdentityUser user, bool isPersistent)
{
// Clear any lingering authencation data
FormsAuthentication.SignOut();
// Create a claims based identity for the current user
var identity = await _manager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
// Write the authentication cookie
FormsAuthentication.SetAuthCookie(identity.Name, isPersistent);
}
我确实创建了一个单独的 MVC Web 项目来查看脚手架登录操作,这有点不同。SmartAdmin 模板已足够定制,以至于在不知道我在做什么的情况下很难开始更改。任何方向表示赞赏。