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協議進行許可,轉載請保留此文章鏈接