Laravel 5.5:使用另一个表进行身份验证,而不是'用户'

时间:2018-04-11 15:31:54

标签: authentication laravel-5.5

我想使用另一个表而不是users进行身份验证。我知道我可以更改User.php中的表名,如下所示:

protected $table = 'WhatEver';

但这不是我想要的。我想更改应用程序后端的名称,以便使用完全不同的模型。我怎样才能做到这一点?我需要更改哪些文件?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。首先创建一个新的数据库表,该表应包含passwordremember_token个字段。在config/auth.php中更改providers部分,如下所示:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\NEW_MODEL_NAME::class,
],

之后,您需要更改App/Controller/Auth/RegisterController.php

protected function validator(array $data) {
return Validator::make($data, [
    'surname' => 'required|string|max:255',
    'firstname' => 'required|string|max:255',
    'email' => 'required|string|email|max:255|unique:NEW_DB_TABLE_NAME',
    'password' => 'required|string|min:6|confirmed',
]);
}
protected function create(array $data) {
return App\NEW_MODEL_NAME::create([
    'surname' => $data['surname'],
    'firstname' => $data['firstname'],
    'email' => $data['email'],
    'password' => bcrypt($data['password']),
   ]);
}

就是这样。