laravel 多帐号登录
需求
当我们使用laravel auth 组件,需要多帐号登录
例:手机和邮箱都可以作为登录的帐号
以下为我个人的解决方法
- 创建自定义UserProvider
- Illuminate\Contracts\Auth\UserProvider 是用来实现从持久化存储系统中获取用户信息的
- 在app目录下创建自定义的UserProvider
- App\UserProviders\MultiAccountUserProvider 文件内容如下:
<?php
namespace App\UserProviders;
use Illuminate\Support\Str;
use Illuminate\Auth\EloquentUserProvider;
class MultiAccountUserProvider extends EloquentUserProvider{
/**
* 提交的字段
* @var string
*/
private $requestField='';
/**
* 数据库对应的查询字段
* @var array
*/
private $accountFields=array();
/**
* 设置提交字段