2017-02-09 79 views
1

到目前爲止,我只從網站使用API​​(對於AJAX reqeusts),所以我申請了web中間件,但我打算使用相同的方法和路由構建移動應用程序。
我試圖在\api\路由上使用auth:api中間件,但它迫使我在每個請求中使用令牌。
有什麼辦法來區分使用哪種認證,然後應用適當的中間件?我可以在Laravel擁有web和api衛兵嗎?

+0

請向我們展示您當前使用的代碼。 – Jerodev

回答

0

是的,您可以通過不同的URL將不同的中間件應用於相同的控制器/路由。

假設Laravel 5.4,在你RouteServiceProvider.php然後某處:

Route::middleware('web') 
    ->namespace($this->namespace) 
    ->group(base_path('routes/web.php')); 

Route::prefix('api') 
    ->middleware(['auth:api', 'web']) 
    ->namespace($this->namespace) 
    ->group(base_path('routes/web.php')); 

注意兩個路由組具有相同的路由文件和相同的命名空間,但第二個有一組不同middlewar和一個URL前綴。

相關問題