2016-09-07 59 views
6

我用Lavarel 5.2框架,智威汤逊授权
JWT需要用户信息的形式令牌只是一个模型, 现在,我怎么解析用户令牌上多模型智威汤逊?
对于样品时,我使用的API JWT解析,从客户模型令牌客户令牌,默认后卫应该是客户
auth.php智威汤逊与多模式

'defaults' => [ 
    'guard' => 'operator', 
    'passwords' => 'operators', 
], 

'guards' => [ 
    'operator' => [ 
     'driver' => 'session', 
     'provider' => 'operators', 
    ], 
    'customer' => [ 
     'driver' => 'session', 
     'provider' => 'customers', 
    ], 
    'biker' => [ 
     'driver' => 'session', 
     'provider' => 'bikers', 
    ] 
], 

'providers' => [ 
    'operators' => [ 
     'driver' => 'eloquent', 
     'model' => App\Http\Services\Auth\Model\User::class, 
    ], 
    'customers' => [ 
     'driver' => 'eloquent', 
     'model' => App\Http\Aggregate\Customer\Model\Customer::class, 
    ], 
    'bikers' => [ 
     'driver' => 'eloquent', 
     'model' => App\Http\Aggregate\Biker\Model\Biker::class, 
    ] 
], 
+0

请帮我朋友 – amirali

+3

你的问题很不清楚。想想你如何将它重新引用到人们可以帮助你的东西上。 – jwpfox

+0

现在我想清楚 – amirali

回答

2

您可以创建一个像AuthModel一个单独的中间件。在此您可以设置配置如果您想使用多个模型采取哪些供应商,如下面,

Config::set('auth.providers.users.model',\App\Models\Customer::class); 

,那么就需要使用,如果条件检查哪个网址可以访问哪些车型。它可以是这样的,

if(url == '/customer/api/') { 
Config::set('auth.providers.users.model',\App\Models\Customer::class); 
} else if(url == '/biker/api/') { 
Config::set('auth.providers.users.model',\App\Models\Biker::class); 
} 

在上面的例子中,我只使用了url,所以从请求中获取它。