laravel框架---中介軟體
阿新 • • 發佈:2019-01-10
1、簡介
中介軟體為過濾進入應用的 HTTP 請求提供了一套便利的機制。例如,Laravel 內建
了一箇中間件來驗證使用者是否經過認證(如登入),如果使用者沒有經過認證,中介軟體會
將使用者重定向到登入頁面,而如果使用者已經經過認證,中介軟體就會允許請求繼續往前進
入下一步操作。
Laravel 框架自帶了一些中介軟體,包括認證、CSRF 保護中介軟體等等。所有的中介軟體
都位於 app/Http/Middleware 目錄下。
大致意思就是中介軟體就是一個關口,檢視你的請求是否滿足條件,滿足就放行,不滿足
則執行其他步驟
2、通過命令定義中介軟體
php artisan make:middleware CheckToken(中介軟體名)
這個命令會在app/Http/Middleware目錄下生成CheckToken
3 、編輯handle函式程式碼
public function handle($request, Closure $next);
public function handle($request, Closure $next) {
if ($request->input('nameT') != 'teacher') {
return redirect()->to('http://www.baidu.com');
}
return $next($request);
}
//意思就是如果請求中傳進來的引數nameT!='teacher'就連結到百度
否則請求通過
4、將該類放到Kernel.php的$routeMiddleware陣列中並起個別名如:
'judge' => \App\Http\Middleware\JudgeTeacher::class,
5、在路由中呼叫中介軟體
Route::get('teacher/teacherShow', '[email protected]')->middleware('judge');
6、訪問
http://localhost/laravel/public/teacher/teacherShow這個連結不會通過驗證,會跳轉到百度
http://localhost/laravel/public/teacher/teacherShow?nameT=teacher這個連結會成功通過驗證