Я перемещаю десятки тысяч пользователей со старого веб-сайта, у которого не было пароля в базе данных, в это новое веб-приложение, однако, когда я пытаюсь импортировать пользователей с помощью асинхронного метода, в конечном итоге требуется несколько дней до того момента, когда я просто отменил его через несколько дней.
Теперь я прибегаю к тому, чтобы просто создавать новых пользователей напрямую из _context.Users.Add и назначать их роли, что я могу сделать без проблем. Однако я не могу понять, как создать общий пароль ( все те же пароли), поскольку этим пользователям будет просто предоставлен пароль для просмотра прямой трансляции (не нужно быть сверхбезопасным), но мне все еще нужна часть безопасности для учетных записей администраторов, которые обрабатывают другие вещи на стороне клиента / администратора UI. Если пользователь войдет в систему, он автоматически введет для него пароль по умолчанию.
По какой-то причине я не могу заставить хэш пароля работать правильно, так как при входе в систему он говорит, что пароль неверный ...
Это то, что я использую для генерации пароля и создания пользователей ...
var appUser = new ApplicationUser() {
Id = GenerateId(),
AccessFailedCount = 0,
Email = user[1],
PasswordHash = "",
FullName = "Standard User",
UserName = user[1],
PhoneNumber = user[8],
FirstName = user[2],
LastName = user[3],
JoinMailingList = user[4],
Country = user[5],
City = user[6],
StateRegion = user[7]
};
_context.Users.Add(appUser);
var options = new PasswordHasherOptions();
options.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV2;
var hasher = new PasswordHasher < ApplicationUser > ();
appUser.PasswordHash = hasher.HashPassword(appUser, "Default8!");
var role = _context.Roles.FirstOrDefault(r => r.Name == "user");
if (role != null) {
var userRole = new IdentityUserRole < string > ();
userRole.RoleId = role.Id;
userRole.UserId = appUser.Id;
_context.UserRoles.Add(userRole);
}
}
_context.SaveChanges();
Может кто-нибудь помочь мне с тем, как я должен хешировать пароль для хранения в базе данных?