Laravel踩坑日記之中間件配置

  • 2019 年 12 月 23 日
  • 筆記

路由書寫方式

設置文件位置:[項目地址]/routes/web.php

//通過路由組進行提取 提取公共命名空間 公共的前綴 中間件  Route::group(['namespace'=>'Admin', 'prefix'=>'admin', 'middleware'=>'adminLogin'], function(){      //首頁路由設置      Route::get('/', 'IndexController@index');        //用戶管理模組路由設置      Route::get('user',             'UserController@index');      Route::get('user/create',      'UserController@create');      Route::get('user/{user}/edit', 'UserController@edit');      Route::post('user/store',      'UserController@store');      Route::put('user/update',      'UserController@update');      Route::get('user/destory',     'UserController@destory');        Route::get('goods', 'GoodsController@index');  });

新建中間件

使用php artisan工具進行創建。

php artisan make:middleware adminLogin

註冊好中間件

在程式碼中添加一行註冊中間件語句

修改文件位置:[項目地址]/app/Http/Kernel.php

'adminLogin' => AppHttpMiddlewareadminLogin::class,

增加到指定位置後:

 protected $routeMiddleware = [          'auth' => IlluminateAuthMiddlewareAuthenticate::class,          'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,          'bindings' => IlluminateRoutingMiddlewareSubstituteBindings::class,          'can' => IlluminateAuthMiddlewareAuthorize::class,          'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,          'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,          'adminLogin' => AppHttpMiddlewareadminLogin::class,      ];

打開中間件進行編輯規則

/*   * 路由組 -- 後台   */  //完成用戶的登錄路由  Route::get('admin/login', "AdminLoginController@index");  //登陸的操作  Route::get('admin/check', "AdminLoginController@check");
public function handle($request, Closure $next)      {          //判斷session中是否存在用戶數據          //如果存在訪問後台  不存在請用戶登錄          if(session('adminUserInfo')){              return $next($request);          }else{              //用戶進入登陸介面              return redirect('admin/login');          }      }

本文鏈接:https://www.debuginn.cn/2299.html

本文採用CC BY-NC-SA 3.0 Unported協議進行許可,轉載請保留此文章鏈接