如何在laravel中更改api身份验证模型而不是使用默认用户模型
我有两个模型,客户机和用户。对于web登录,我使用用户模型作为超级管理员。但我希望客户端模型用于通过api请求的移动登录 api.php如何在laravel中更改api身份验证模型而不是使用默认用户模型,laravel,api,Laravel,Api,我有两个模型,客户机和用户。对于web登录,我使用用户模型作为超级管理员。但我希望客户端模型用于通过api请求的移动登录 api.php Route::group(['middleware' => 'auth:api'], function() { Route::resource('communities', 'communityAPIController'); Route::resource('communities', 'communityAPIController')
Route::group(['middleware' => 'auth:api'], function() {
Route::resource('communities', 'communityAPIController');
Route::resource('communities', 'communityAPIController');
Route::resource('clients', 'ClientAPIController');
});
Config/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'clients',
'hash' => false,
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'clients' => [
'driver' => 'eloquent',
'model' => \App\Models\Client::class,
],
],
我有这样的客户模型
<?php
namespace App\Models;
use Eloquent as Model;
class Client extends Model
{
public $table = 'clients';
public $fillable = [
'name',
'phone',
'house_no',
'type',
'is_approved',
'community_id'
];
/**
* The attributes that should be casted to native types.
*
* @var array
*/
protected $casts = [
'id' => 'integer',
'name' => 'string',
'phone' => 'string',
'house_no' => 'string',
'type' => 'integer',
'is_approved' => 'boolean',
'community_id' => 'integer'
];
}
试试这个
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'clients',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'clients' => [
'driver' => 'eloquent',
'model' => App\Models\Client::class,
'table'=>'clients'
],
],
试试这个
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'clients',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'clients' => [
'driver' => 'eloquent',
'model' => App\Models\Client::class,
'table'=>'clients'
],
],
删除\n在'clients'=>['driver'=>'eloquent','model'=>App\Models\Client::class',table'=>'clients']中,身份验证可以工作,但是如何获得经过身份验证的客户机模型@albus_severusremove\n在'clients'=>['driver'=>'eloquent','model'=>App\Models\Client::class',table'=>'clients']中,身份验证有效,但如何获得经过身份验证的客户端模型@请显示您的App\Models\Client
逻辑。请显示您的App\Models\Client
逻辑。如果(Auth::guard($guard)->check()){if('api-clients'===$guard){}返回$next($request);}我应该把它放在哪里我应该在api.php中间件部分使用什么如果(Auth::guard($guard)->check(){if('api-clients'==$guard){}返回$next($request);}我应该把它放在哪里