美文网首页
Laravel5.1中间件的使用

Laravel5.1中间件的使用

作者: limgquan | 来源:发表于2017-01-17 09:57 被阅读0次

    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

    Paste_Image.png

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

    Paste_Image.png

    相关文章

      网友评论

          本文标题:Laravel5.1中间件的使用

          本文链接:https://www.haomeiwen.com/subject/zclmbttx.html