周大胖子 发表于 2019-11-11 17:37:20

关于 laravel 中间件 不继续走的问题

写白话个 基本的路由造型:Route::middleware(['jwt_auth'])->group(function () {
   
    Route::get('user/userslist', 'UserController@userslist');

    Route::Post('user/adduser', 'UserController@adduser');

    Route::Post('user/deluser/{id}', 'UserController@deluser');

    Route::Post('user/deluser/{id}', 'UserController@deluser');

});


然后再白话个 基本的 中间件的写法

<?php

namespace App\Http\Middleware;

use Closure;

// use Illuminate\Http\Request;

// 使用jwt
use App\Http\Controllers\Jwt;

class JwtAuth
{
    /**
   * Handle an incoming request.
   *
   * @param\Illuminate\Http\Request $request
   * @param\Closure $next
   * @return mixed
   */
    public function handle($request, Closure $next)
    {
      //中间件中不能用json_encode
      $token = $request->headers->get("token");

      if(empty($token)){

            downjson(161,'请登录');

      }
      if ($token) {
            $key = 'JWTKEY1'; //key要和签发的时候一样

            $Jwt = new Jwt($key);

            $check = $Jwt->decode($token);

            if (!$check) {
                downjson(161,'登录信息有误或超时请重新登录');
            } else {   
               $request->useinfo = json_decode( json_encode($check) ) ;
               
            }
      }
      // dd($request);
      return $next($request);
    }
}注意了这句话 : return $next($request) ;只有写上这句话 才能继续。

页: [1]
查看完整版本: 关于 laravel 中间件 不继续走的问题