Laravel5.1中间件的使用

step1 创建middleware文件

 php artisan make:middleware TestMiddleware

step2 编辑该中间件文件TestMiddleware.php的handle方法

public function handle($request, Closure $next)
    {   
        //当传入的age<18的时候跳转到拦截页面,大于18时正常访问
        if($request->input('age')<18) return redirect()->route('refuse');
        return $next($request);
    }

step3 在kernel.php的$routeMiddleware属性中加入该中间件 test


    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
        //加上下面这一行就可以了
        'test' => \App\Http\Middleware\TestMiddleware::class,
    ];

step4 编写路由文件
使用到test中间件的路由写在分组里边

Route::group(['middleware'=>'test'],function (){
    Route::get('18p',function (){
    return '恭喜你已经成人了,可以xxoo了!!';
    });
});

被中间件拦截的请求的目标路由
由于中间件内使用了route方法,所以这里起了别名

Route::get('jujue',['as'=>'refuse',function (){
    return '18岁以下请离开!';
}]);

测试一下
访问l51t.cn/18p?age=17 被中间件拦截 跳转到
http://l51t.cn/jujue

Laravel5.1中间件的使用_第1张图片
Paste_Image.png

访问 http://l51t.cn/18p?age=18 正常访问

Laravel5.1中间件的使用_第2张图片
Paste_Image.png

你可能感兴趣的:(Laravel5.1中间件的使用)