Php 这些凭据与我们的记录不匹配。拉威尔5.8
当绑定到我从seeder创建的登录用户时,我遇到了一些错误,我尝试将其添加到我的user.php中Php 这些凭据与我们的记录不匹配。拉威尔5.8,php,laravel,authentication,Php,Laravel,Authentication,当绑定到我从seeder创建的登录用户时,我遇到了一些错误,我尝试将其添加到我的user.php中 public function setPasswordAttribute($password) { $this->attributes['password'] = \Hash::make($password); } 这是我的播种机 <?php use Illuminate\Database\Seeder; use App\User; class UsersTabl
public function setPasswordAttribute($password)
{
$this->attributes['password'] = \Hash::make($password);
}
这是我的播种机
<?php
use Illuminate\Database\Seeder;
use App\User;
class UsersTableSeeder extends Seeder
{
public function run()
{
User::create([
'name' => Str::random(10),
'email' => Str::random(10).'@gmail.com',
'password' => bcrypt('12345678'),
]);
}
}
您正在对密码进行两次哈希运算。您有一个为您散列密码的变种,并且您正在为该属性分配一个散列,因此它将散列两次。(bcrypt
然后Hash::make
,两轮哈希)
只需使用mutator进行哈希运算,并将密码的纯文本版本作为属性值传递。您将对密码进行两次哈希运算。您有一个为您散列密码的变种,并且您正在为该属性分配一个散列,因此它将散列两次。(bcrypt
然后Hash::make
,两轮哈希)
只需使用mutator进行哈希运算,并将密码的纯文本版本作为属性值传递。那么我该怎么办?将['password']更改为bcrypt?决定是否要使用mutator(这意味着您必须将密码的纯文本形式分配给属性,以便mutator可以对其进行散列),或者不使用mutator,在保存密码的任何地方都必须对其进行散列。。。目前,您只需在您的播种机中分配纯文本密码,而变异子将为您散列密码,只是不要在播种机中调用bcrypt
:),那么我该怎么办?将['password']更改为bcrypt?决定是否要使用mutator(这意味着您必须将密码的纯文本形式分配给属性,以便mutator可以对其进行散列),或者不使用mutator,在保存密码的任何地方都必须对其进行散列。。。目前,您只需在播种机中分配纯文本密码,变异器将为您散列密码,但不要在播种机中调用bcrypt
:-)