在 asp.net identity 2.2.1 中使用密码哈希创建测试用户
Creating test users with password hash in asp.net identity 2.2.1
我想为我的 ASP.net MVC 创建一些测试用户
应用。 identity的版本是2.2.1
我的代码很好地生成了用户,但我想分配密码
将允许这些测试帐户登录。所以我相信我需要打电话
以正常方式创建用户时使用的相同哈希函数。
我的密码是
ApplicationDbContext db = new ApplicationDbContext();
...
for (var i=0; i<100; i++)
{
var name = "User" + i;
var user = db.Users.FirstOrDefault(u => u.UserName == name);
if (user == null)
{
user = new ApplicationUser() {
UserName = name,
Email = name + "@" + name + "." + name,
PasswordHash = ?????hash of name ?????
};
db.Users.Add(user);
db.SaveChanges();
}
}
是的,我正在为 User1 尝试使用 User1 的密码,为 User2 尝试使用 User2 的密码,依此类推。
此致,
约翰
UserManager
将创建帐户。假设您使用的是默认身份框架模板应该有一个 ApplicationUserManager
派生自 UserManager<ApplicationUser>
所有必要的配置应该已经在 class.
中
public async Task CreateTestUsers() {
var db = new ApplicationDbContext();
var userStore = new UserStore<ApplicationUser>(db);
var userManager = new ApplicationUserManager(userStore);
for (var i = 1; i <= 100; i++) {
var username = "User" + i;
var user = db.Users.FirstOrDefault(u => u.UserName == username);
if (user == null) {
user = new ApplicationUser() {
UserName = username,
Email = username + "@" + username + "." + username,
EmailConfirmed = true,
LockoutEnabled = false
};
var password = username;
var result = await userManager.CreateAsync(user, password);
}
}
}
然后应该像正常方式一样创建测试用户,密码全部经过哈希处理并准备好进行测试。
我想为我的 ASP.net MVC 创建一些测试用户 应用。 identity的版本是2.2.1
我的代码很好地生成了用户,但我想分配密码 将允许这些测试帐户登录。所以我相信我需要打电话 以正常方式创建用户时使用的相同哈希函数。
我的密码是
ApplicationDbContext db = new ApplicationDbContext();
...
for (var i=0; i<100; i++)
{
var name = "User" + i;
var user = db.Users.FirstOrDefault(u => u.UserName == name);
if (user == null)
{
user = new ApplicationUser() {
UserName = name,
Email = name + "@" + name + "." + name,
PasswordHash = ?????hash of name ?????
};
db.Users.Add(user);
db.SaveChanges();
}
}
是的,我正在为 User1 尝试使用 User1 的密码,为 User2 尝试使用 User2 的密码,依此类推。
此致, 约翰
UserManager
将创建帐户。假设您使用的是默认身份框架模板应该有一个 ApplicationUserManager
派生自 UserManager<ApplicationUser>
所有必要的配置应该已经在 class.
public async Task CreateTestUsers() {
var db = new ApplicationDbContext();
var userStore = new UserStore<ApplicationUser>(db);
var userManager = new ApplicationUserManager(userStore);
for (var i = 1; i <= 100; i++) {
var username = "User" + i;
var user = db.Users.FirstOrDefault(u => u.UserName == username);
if (user == null) {
user = new ApplicationUser() {
UserName = username,
Email = username + "@" + username + "." + username,
EmailConfirmed = true,
LockoutEnabled = false
};
var password = username;
var result = await userManager.CreateAsync(user, password);
}
}
}
然后应该像正常方式一样创建测试用户,密码全部经过哈希处理并准备好进行测试。