【问题标题】:Laravel 5.3 Change user table in AuthLaravel 5.3 在 Auth 中更改用户表
【发布时间】:2016-09-15 14:48:13
【问题描述】:

我正在使用 Laravel 5.3 并使用 make:auth artisan 命令搭建登录/注册系统。我以公司身份登录,所以我有一个名为Company 的表。如何更改原始 sql 以从 Company 表而不是 User 表中获取电子邮件和密码?

我已经尝试在提供程序部分更改config/auth.php 文件,但是当我将'model' => App\User::class, 更改为'model' => App\Company::class, 时,它开始登录,但不管电子邮件和密码输入是否完全错误。有什么想法吗?

编辑:Company 注册并登录后,它可以邀请Users,因此必须保留原来的User

【问题讨论】:

  • 删除默认用户表并创建一个不会那么难的自定义表。
  • @Iftikharuddin 请查看我的编辑

标签: laravel laravel-5


【解决方案1】:

Laravel 5.3 对 Auth 实现进行了更改。对我来说,这种方式解决了它:

首先,在数据库中提供一个满足用于识别标准的公司表。因此,它需要一个名称、电子邮件、密码和 remember_token 列。详情可见here

在 config/auth.php 中将用户模型更改为您的公司类。

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

在扩展 Auth 的 App 文件夹中创建一个 Company 类,因此使用:

use Illuminate\Foundation\Auth\User as Authenticatable;

在 Company 类中,定义可填充和隐藏字段。

class Company extends Authenticatable {

protected $fillable = [
    'name', 'email', 'password',
];

protected $hidden = [
    'password', 'remember_token',
];
}

在 RegisterController.php 中将“使用 App\User”更改为

use App\Company;

用Company::create调整RegisterController.php中的createvalidator函数

protected function create(array $data)
{
    return Company::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}

protected function validator(array $data)
{
    return Validator::make($data, [
        'name' => 'required|max:255',
        'email' => 'required|email|max:255|unique:companies',
        'password' => 'required|min:6|confirmed',
    ]);
}

'email' => '必需|email|max:255|unique:公司'
(公司模型的表名将是公司)

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    不要忘记在 REGISTERCONTOLLER.PHP 中更改验证。

    来自

    'email' => 'required|email|max:255|unique:users',
    

    'email' => 'required|email|max:255|unique:company',
    

    【讨论】:

      猜你喜欢
      • 2016-04-12
      • 2017-03-30
      • 2017-03-14
      • 2017-01-27
      • 2016-10-09
      • 1970-01-01
      • 2017-04-28
      • 2017-12-27
      • 2015-11-27
      相关资源
      最近更新 更多