【问题标题】:Can't validate user attempt无法验证用户尝试
【发布时间】:2017-02-10 01:10:38
【问题描述】:

我正在使用laravel 5.0,但无法验证登录。
如果我输入了错误的电子邮件/密码匹配项,它会完美地重定向我。
但是当我输入正确的电子邮件/密码时,它会返回给我:

传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给定 App\User 的实例...

我正在关注documentation,看起来一切正常。

型号:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model {  

}  

控制器

public function postsignin(Request $request)
    {
        if( Auth::attempt( ['email' => $request['email'], 'password' => $request['password'] ] ) )
            return redirect()->route('dashboard');
        return redirect()->back();
    }  

不知道它是什么。

【问题讨论】:

    标签: laravel-5 basic-authentication


    【解决方案1】:

    尝试实现 AuthenticatableContract 和 Authenticatable trait

    <?php namespace App;
    
    use Illuminate\Auth\Authenticatable;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
    
    class User extends Model implements AuthenticatableContract{  
        use Authenticatable
    }
    

    【讨论】:

    • 工作。你能告诉我为什么吗?文档中没有您所说的内容,我正在遵循的教程也没有使用它。
    • 用户模型应该已经实现了开箱即用,但看起来你没有它我不知道为什么,并且已经注意到你得到的异常,虽然看看这个在github
    • 我通过命令行创建模型,不知道为什么还没有实现=\
    • 只有在全新安装 laravel 时才能获得它
    猜你喜欢
    • 2017-06-19
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 2012-04-24
    • 2018-05-29
    • 2012-01-30
    相关资源
    最近更新 更多