如果感覺這篇文章有用請點個贊,讓我知道自己的努力不白費!!!
中介軟體是請求必經之處,所以此處能對請求的資料做一系列處理,相當於過濾器。例如跨域請求,驗證會員是否登入跳轉至登入頁,前後端分離資料型別不一致,防禦xss指令碼攻擊等。這些作者都用過,所以感覺很好用。
1.生成中介軟體: php artisan make:middleware UserAuth(中介軟體名)
2.在app\http\kernel.php 中:
$middleware陣列內為全域性中介軟體(每次請求都經過),$routeMiddleware可以指定自定義中介軟體,在生成的中介軟體handle方法內寫程式碼邏輯
Route::middleware(['CheckUserLogin'])->grtoup(function(){
// 路由組
});
一般情況下中介軟體含有多個路由組,如果單一一個還不如在方法內處理。
$middlewareGroups 為中介軟體組,即你可以起一箇中介軟體名指定路由內部有多箇中介軟體進行過濾。
看RouteServiceProvider.php中
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api') //系統預設中介軟體
->namespace($this->namespace)
->group(base_path('routes/api.php')); //系統指定路由
}
系統已經為指定路由指定好中介軟體,這就是文件中為幾個route介面預設好中介軟體。
3.中介軟體引數
有時候你用同一個中介軟體執行相同的邏輯但是不同的判斷,例如你有兩個平臺相同的使用者判斷使用者是否登入,如果沒登入就跳轉不同的登入介面,這時候只需要在中介軟體傳一個引數就能進行判斷。
Route::middleware(['CheckUser:web'])->group(function(){ //路由組 });
至此路由已經介紹完了,如果大家有疑問或者更好的方法使用,請告知我及時補充。
每週不定時更新
如果有用請點個贊吧,照亮我前進孤獨的路。