2017-05-15 48 views
0
我使用laravel 45年2月5日

使用兩個中間件和我有以下途徑如何創建自定義基本身份驗證或Laravel

Route::group([ 
    'namespace' => 'Api', 
    'prefix' => "api", 
    'middleware' => 'service' 
], function() { 

    Route::get('student/{msisdn}/status', '[email protected]'); 

}); 

我中間件service所以這裏是我的config/service.php

<?php 

return [ 
    'password' => //password here, 
    'ip' => //my server ip here, 
    'url' => [ 
     'check_status' => 'http://%s/student/api/checkUser?password=%s&msisdn=%s', 

    ] 
]; 

此代碼根據我的要求正常工作,但我現在想要的是應用無數據庫的基本身份驗證。我只想要一個hardcorded用戶名和密碼(它是我的要求,否則我會使用db)。

由於我的中間件是service,我將如何對其應用另一箇中間件basic.auth,是否可以使用兩個中間件?或者將service和basic.auth中間件結合起來並創建新的中間件?任何建議,教程或示例代碼,我該怎麼做?

回答

2

您可以將任意數量的中間件添加到路由或路由組中。

Route::group([ 
    'namespace' => 'Api', 
    'prefix' => "api", 
    'middleware' => ['service', 'auth.basic'] 
], function() { 
    Route::get('student/{msisdn}/status', '[email protected]'); 
}); 

至於沒有數據庫的認證,您可以創建一個自定義中間件,並在那裏硬編碼登錄信息。將此中間件應用於所有路由以執行身份驗證。

這應該讓你開始。儘管您需要將過濾器轉換爲中間件,但代碼非常簡單。

https://stackoverflow.com/a/28322507/5892849

相關問題