【问题标题】:These credentials do not match our records laravel 5.3这些凭据与我们的记录不匹配 laravel 5.3
【发布时间】:2017-05-14 10:00:04
【问题描述】:

我想要什么

我想用通过php artisan make:auth命令得到的laravel认证系统


发生了什么

  • 我可以看到通过注册表单注册的项目,但我无法使用这些凭据通过应用程序登录。
  • 错误:这些凭据与我们的记录不符。

我做了什么

php artisan make:Auth

用户.php

namespace App;

use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Auth\Authenticatable as AuthenticatableTrait;

use Illuminate\Database\Eloquent\Model;
class User extends Model implements Authenticatable 
{
    protected $fillable=['name','password','email'];
    protected $table='blog_users';


    public function getAuthIdentifierName(){}
    public function getAuthIdentifier(){}
    public function getAuthPassword(){}
    public function getRememberToken(){}
    public function setRememberToken($value){}
    public function getRememberTokenName(){}
}

我尝试了什么

我尝试提供我的操作方法,但我仍然无法通过这些凭据登录,我仍然看到同样的错误。


我希望什么

为了更好地了解我的问题及其解决方案?


快照

【问题讨论】:

  • 从模型中删除所有方法并重试。
  • 它给了我一个错误,说它包含 6 个抽象方法
  • @BOTJr。你的 laravel 版本是什么?
  • 现在是 5.3.28 ,我猜是最新的

标签: php laravel


【解决方案1】:

Laravel 比较 Hased 密码:

为此,您需要通过以下任一方式存储密码:

$password = bcrypt('secret');

$password = Hash::make('secret');

为了更好地理解,请查看:-https://laravel.com/docs/5.0/hashing

希望对你有所帮助。

【讨论】:

  • 这如何解决我的问题?我已经知道了,但为什么我无法登录?
  • 控制器逻辑是内置的,当你运行这个命令时会出现。
  • 它制作了一个使用 AuthenticateUsers 文件的逻辑控制器文件,其中包含整个逻辑
  • 只是一个随机解决方案,您可以试试这个:--- 使用 Illuminate\Contracts\Auth\Access\Authorizable 作为 AuthorizableContract;并实施 AuthorizableContract
【解决方案2】:

这就是我的 Laravel 5.3 用户模型的样子:

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];
}

我认为所有这些空方法都会给你带来麻烦。

【讨论】:

  • 是的,我这样做了,它奏效了,我不知道为什么,但它奏效了
  • 很可能是因为您覆盖了所有 Authenticatable 特征方法并且它们是空的
猜你喜欢
  • 2018-06-24
  • 1970-01-01
  • 2015-06-09
  • 2020-06-16
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
  • 2016-06-27
  • 2022-10-04
相关资源
最近更新 更多