2016-09-07 16 views
6

Tôi sử dụng khung công tác Lavarel 5.2 với ủy quyền cho phép
jwt lấy mã thông tin người dùng chỉ với một kiểu, bây giờ làm cách nào để phân tích mã thông báo người dùng với nhiều mô hình?
Đối với mẫu khi tôi sử dụng thẻ của khách hàng trong một api JWT phân tích rằng token từ mô hình khách hàng, bảo vệ mặc định nên được khách hàng
auth.php:Jwt với nhiều mẫu

'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

hãy giúp tôi với bạn bè – amirali

+3

Câu hỏi của bạn rất không rõ ràng. Hãy suy nghĩ về cách bạn có thể viết lại nó cho một cái gì đó mà mọi người có thể giúp bạn. – jwpfox

+0

bây giờ tôi nghĩ là rõ ràng – amirali

Trả lời

2

Bạn có thể tạo một middleware riêng biệt như AuthModel. Ở đó, bạn có thể thiết lập cấu hình để có mà các nhà cung cấp như dưới đây,

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

Nếu bạn muốn sử dụng nhiều mô hình, sau đó cần phải sử dụng nếu có điều kiện để kiểm tra url có thể truy cập mà các mô hình. Nó có thể giống như,

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

Trong ví dụ trên, tôi đã sử dụng url chẳng hạn, để lấy từ yêu cầu.