Php 来自两个以上表的Laravel多重身份验证

Php 来自两个以上表的Laravel多重身份验证,php,laravel,authentication,laravel-5.6,Php,Laravel,Authentication,Laravel 5.6,我想用laravel编写一个web服务 我正在尝试分别对用户和管理员表单用户表和管理员表进行身份验证。在此web服务中,用户身份验证和管理员身份验证是不同的。 通过电子邮件验证管理员和通过电话号码验证用户。管理员通过Web路由访问管理面板,用户使用API路由。 据我所知,Auth::trunt用于从admins表中验证admins,但我想从users表中验证另一个用户,并从admin表中验证管理员。有人能举例说明来自两个以上表的多重身份验证吗?? 我知道Auth::trunt用于从users表中

我想用laravel编写一个web服务
我正在尝试分别对用户管理员表单
用户
表和
管理员
表进行身份验证。
在此web服务中,用户身份验证和管理员身份验证是不同的。 通过
电子邮件
验证管理员和通过
电话号码
验证用户。管理员通过
Web
路由访问管理面板,用户使用
API
路由。

据我所知,
Auth::trunt
用于从
admins
表中验证
admins
,但我想从
users
表中验证另一个用户,并从
admin
表中验证管理员。
有人能举例说明来自两个以上表的多重身份验证吗??

我知道
Auth::trunt
用于从users表中验证
用户
,但我更改了名称

到目前为止我所做的

防护装置
config/auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'admins',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
],
提供商

'providers' => [
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
        ],
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
    ],
路线
web.php(管理员)

api.php(用户)

用户控制器
api/android/v1/UserController.php

public function login(Request $request)
{
    $validData = $this->validate($request, [
        'mobile' => 'required|exists:users',
        'password' => 'required'
    ]);
    if(! auth()->attempt($validData)) {
        return response([
            'data' => 'data not true',
            'status' => 'error'
        ],403);
    }

    return new UserResource(auth()->user());
}

我的第一个建议是 为管理员和用户设置不同的控制器,然后可以指定为什么要使用保护来处理请求

Route::group(['prefix' => 'android/v1' , 'namespace' => 'Api\Android\v1'] , function (){
    $this->post('login' , 'UserController@login');
    $this->post('register' , 'UserController@register');
});
public function login(Request $request)
{
    $validData = $this->validate($request, [
        'mobile' => 'required|exists:users',
        'password' => 'required'
    ]);
    if(! auth()->attempt($validData)) {
        return response([
            'data' => 'data not true',
            'status' => 'error'
        ],403);
    }

    return new UserResource(auth()->user());
}