laravel - Laravel 5.5 类型错误:传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是实例
问题描述
在 Auth 下的 LoginController 中,我使用了以下代码:
namespace App\Http\Controllers\Auth;
use App\Model\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Redirect;
use Hash;
use Auth;
use DB;
use App\Model\UserAdmin;
class LoginController extends Controller {
use AuthenticatesUsers;
public function __construct() {
$this->middleware('guest')->except('logout');
}
public function doLogin(Request $request) {
$userdata = array(
'email' => Input::get('email'),
'password' => Input::get('password'),
'status' => '1',
);
if (Auth::guard('admin')->attempt($userdata)) {
return Redirect::intended('/administrator/dashboard')->with('successMessage', 'You have successfully logged in.');
}
}
}
而在app/Model下的UserAdmin(model)中如下:
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Config;
class UserAdmin extends Authenticatable {
protected $table = 'adminusers';
public $timestamps = false;
protected $fillable = ['firstName', 'lastName', 'email', 'company', 'website'];
public function __construct() {
parent::__construct(); // Don't forget this, you'll never know what's being done in the constructor of the parent class you extended
}
}
提交登录详细信息后,它向我显示错误:
类型错误:传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给出 App\Model\UserAdmin 的实例,在 /var/www/html/XXXXXX/ 中调用供应商/laravel/framework/src/Illuminate/Auth/SessionGuard.php 第 379 行
解决方案
我想您需要将 implements \Illuminate\Contracts\Auth\Authenticatable 添加到您的 UserAdmin 模型类定义中。
class UserAdmin extends Model implements
\Illuminate\Contracts\Auth\Authenticatable
推荐阅读
- c++ - 我输入的所有可能情况的 nan 错误
- java - jsoup登录问题(URL/cookie/session/POST/data)
- android - Flutter Build 在 assembleDebug 期间失败
- perl - 安装 perl 模块时如何运行配置脚本?
- django - 当我在 django 中使用模型时,我使用多对一,如何通过比较多的数量来获得前 5 名
- android - 如何在 google play store 上搜索崩溃?
- git - Git rebase 错误 VCS_INFO_get_data_git:225:没有这样的文件或目录:.git/rebase-apply/msg-clean
- xml - 需要 Logstash 配置来解析 xml 文件
- chromecast - 如何使 ChromeCast 与在 AWS ELB 后面运行的发送者应用程序一起工作
- r - 为什么 as.integer() 返回不正确的值?