Laravel中介軟體
阿新 • • 發佈:2018-12-15
在Laravel有兩種型別的中介軟體:全域性中介軟體、路由中介軟體
$middleware
屬性用於註冊全域性中介軟體,$routeMiddleware
屬性用於註冊路由指定中介軟體。
1、建立一箇中間件
php artisan make:middleware CheckLogin
在app\Http\Middleware
資料夾中會自動生成CheckLogin.php
檔案
namespace App\Http\Middleware; use Closure; use Auth; class CheckLogin { public function handle($request, Closure $next) { // 如果使用者未登入則跳轉到登陸頁面 if (!Auth::guard('admin')->check()) { return redirect(route('admin.login.login'))->withErrors(['error' => '非法登陸']); } return $next($request); } }
2、在app/Http/Kernel.php
中註冊路由中介軟體
protected $routeMiddleware=[
'admin_login' => \App\Http\Middleware\CheckLogin::class,
]
3、在路由配置routes/web.php
中,對後臺模組使用中介軟體(登入相關頁面除外)
Route::group(['prefix'=>'admin','namespace'=>'Admin'], function () {
Route::get('login', '[email protected]');
// 中介軟體
Route::group(['middleware' => 'checklogin'], function () {
// 後臺首頁
Route::get('index', ' [email protected]')->name('admin.index.index');
});
});