2017-02-22 101 views
0

我一直试图让委托具有Laravel 5在这里工作的指示https://github.com/Zizaco/entrustLaravel 5无法登录使用委托

的要求我做了所有的变化之后,添加用户和角色(我的天堂”添加T形成的权限,我将不再需要检查他们...只是角色),分配角色的用户,当我尝试登录用户我得到这个错误信息

参数1传递给 照亮\ Auth \ EloquentUserProvider :: validateCredentials()必须是 Illuminate \ Contracts \ Auth \ Authenticatable的实例,的实例0给定应用程序\用户,堪称 C:\ WWW \ procurement2 \供应商\ laravel \框架的\ src \照亮\验证\上线385 SessionGuard.php 和定义

我不知道这是什么错误意味着或如何解决它

这里是所有的代码改变

应用/ user.php的

<?php 

namespace App; 

use Zizaco\Entrust\Traits\EntrustUserTrait; 
use Illuminate\Database\Eloquent\Model as Eloquent; 

class User extends Eloquent 
{ 
    use EntrustUserTrait; 
    /** 
    * The attributes that are mass assignable. 
    * 
    * @var array 
    */ 
    protected $fillable = [ 
     'firstname', 'lastname', 'email', 'password', 'userlevel', 'buyer' 
    ]; 

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

应用/ HTTP/Kernel.php

protected $routeMiddleware = [ 
     'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 
     'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
     'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 
     'can' => \Illuminate\Auth\Middleware\Authorize::class, 
     'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 
     'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 
     'role' => \Zizaco\Entrust\Middleware\EntrustRole::class, 
     'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class, 
     'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class, 
    ]; 

应用/配置/ app.php

'providers' => [ 

     /* 
     * Laravel Framework Service Providers... 
     */ 
     ... 

     /* 
     * Package Service Providers... 
     */ 
     Zizaco\Entrust\EntrustServiceProvider::class, 
]; 

'aliases' => [ 

     'App' => Illuminate\Support\Facades\App::class, 
     'Artisan' => Illuminate\Support\Facades\Artisan::class, 
     'Auth' => Illuminate\Support\Facades\Auth::class, 
     ... 

     'Entrust' => Zizaco\Entrust\EntrustFacade::class, 

    ], 

应用/配置/ auth.php

'users' => [ 
     'driver' => 'eloquent', 
     'model' => App\User::class, 
     'table' => 'users', 
    ], 

回答

1

App/User.php应该延伸Illuminate\Foundation\Auth\User代替use Illuminate\Database\Eloquent\Model as Eloquent;

+0

你能告诉我这样做的代码吗?我不关注 – AdRock

+0

别担心。我现在开始工作了 – AdRock