我正在尝试使用已在数据库中注册的电子邮件和密码登录,但这是我遇到的错误
FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
以下是其中的行:
var result = await this._signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
更具体地说-模型。电子邮件(电子邮件)打破了一切!
编辑: 问题确实是密码在传递到数据库时没有被散列:因此,在此代码行中:
var result = await this._userManager.CreateAsync(user, model.Password);
缺少模型。密码,这就是为什么在创建用户时不对它进行哈希处理的原因。相反,我传入了User对象PasswordHash = Password,这就是为什么密码被保留为纯文本的原因。多么大的错误!