我想添加一些测试用户帐户,直接从数据库中执行它会更快。
有几个我无法弄清楚的领域:
有任何见解,谢谢。
答案 0 :(得分:1)
secret_token
是一个md5哈希值,由User::generateActivationToken()
方法创建。它用于特殊帐户活动,如电子邮件验证,密码重置和新帐户密码创建。
password
是由password_hash
使用bcrypt function生成的60个字符 salted 哈希。由于每次创建密码时都会随机生成salt,因此即使用户的明文密码完全相同,也会因用户而异。确实,this is the purpose of using a salt。
如果您只是为了开发目的设置测试帐户,可以将secret_token
留空,并使用password_hash
生成密码(可能通过从命令行运行自定义PHP脚本)。
如果您需要为真实用户批量生成帐户,您可能需要设置secret_token
但保留密码为空,为每个用户生成“密码重置”事件,然后向他们发送密码创建电子邮件,以便他们可以选择自己的密码。这实际上是在createUser
控制器方法中完成的:
$data['password'] = "";
...
$user = new User($data);
...
$user->newEventPasswordReset();
您可以看到newEventPasswordReset
here的代码。