Я использую встроенный шаблон ASP .NET MVC для аутентификации. Для некоторых ролей настройки я скопировал код нового пользователя регистрации на другую страницу и сохранил его в базе данных следующим образом.
public void adduser(AdduserModel role){
ApplicationUser appUser = new ApplicationUser() { Email = role.Email, PasswordHash = role.Password, UserName = role.Email, EmailConfirmed = true };
var manager = HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
var response = manager.Create(appUser);
}
И в шаблоне AccountController выглядит следующим образом
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
var user = await UserManager.FindByNameAsync(model.Email);
// Session["UserName"] = model.Email;
// 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);
}
Оба хранят пароль, адрес электронной почты и т. Д. В пароле, но myCode хранится в виде обычного текста, а код шаблона хранит проход в зашифрованном формате.
Когда я пытаюсь войти в систему, зарегистрированный пользователь шаблона работает правильно и входит в систему, но мой код дает мне следующую ошибку.
Введенная строка не является допустимой строкой Base-64, так как она содержит символ, отличный от Base 64, более двух символов заполнения или символ, отличный от пробела, среди символов заполнения.
Как я могу это решить?