我一直在尝试让 Entrust 按照此处的说明使用 Laravel 5 https://github.com/Zizaco/entrust
我已按要求进行了所有更改,添加了用户和角色(我没有添加权限,因为我不需要检查它们......只是角色),为用户分配了角色以及当我尝试登录用户时我收到此错误消息
传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给定 App\User 的实例,在 C:\www\procurement2\vendor\laravel\framework\src 中调用\Illuminate\Auth\SessionGuard.php 在第 385 行并定义
我不知道这个错误是什么意思或如何解决它
这是所有代码更改
应用程序/用户.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,
],
应用程序/config/auth.php
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
'table' => 'users',
],