2016-09-07 5 views
6

Ich benutze Lavarel 5.2 Framework mit JWT für die Autorisierung
JWT nimmt Benutzer Info Formular Token nur mit einem Modell, jetzt, wie kann ich Benutzer Token mit JWT auf mehrere Modell analysieren?
Für die Probe, wenn ich Kunden Token in einer api jwt Parse verwenden, die aus Kundenmodell Token sollte Standard guard Kunde seine
auth.php:JWT mit multiple Modell

'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

bitte helfen Sie mir Freunde – amirali

+3

Ihre Frage ist sehr unklar. Denken Sie darüber nach, wie Sie es zu etwas umschreiben können, mit dem Ihnen die Leute helfen können. – jwpfox

+0

jetzt denke ich ist klar – amirali

Antwort

2

Sie können eine separate Middleware wie AuthModel erstellen. In diesem können Sie die Konfiguration festgelegt, welche Anbieter wie die unten zu nehmen,

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

Wenn Sie mehrere Modelle verwenden wollen, dann verwenden müssen, wenn die Bedingungen, die URL zu prüfen, welche Modelle zugreifen können. Es kann sein,

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); 
} 

In dem obigen Beispiel habe ich url nur zum Beispiel verwendet, so bekommen Sie es von der Anfrage.