这些凭证不符合我们的记录. laravel 5.8.

问题描述 投票:0回答:1

我在使用播种机的用户登录时出现了一些错误, 我试着在我的User.php中添加以下内容.

    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'),
        ]);
    }
}

有谁知道哪里出错?

php laravel authentication
1个回答
1
投票

你对密码进行了两次散列。你有一个突变器在为你散列密码,你给这个属性分配了一个哈希值,所以它被散列了两次。 (bcrypt 那么 Hash::make,2轮散列)

只需使用突变器进行哈希运算,并将密码的纯文本版本作为属性值传递。

© www.soinside.com 2019 - 2024. All rights reserved.