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协议进行许可,转载请保留此文章链接