laravel框架---中间件

laravel文档-中间件

1、简介
中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置
了一个中间件来验证用户是否经过认证(如登录),如果用户没有经过认证,中间件会
将用户重定向到登录页面,而如果用户已经经过认证,中间件就会允许请求继续往前进
入下一步操作。
Laravel 框架自带了一些中间件,包括认证、CSRF 保护中间件等等。所有的中间件
都位于 app/Http/Middleware 目录下。
大致意思就是中间件就是一个关口,查看你的请求是否满足条件,满足就放行,不满足
则执行其他步骤
2、通过命令定义中间件
    php artisan make:middleware CheckToken(中间件名)
    这个命令会在app/Http/Middleware目录下生成CheckToken
3、编辑handle函数代码
    public function handle($request, Closure $next);

    public function handle($request, Closure $next) {

        if ($request->input('nameT') != 'teacher') {
            return redirect()->to('http://www.baidu.com');
        }
        return $next($request);
    }
    //意思就是如果请求中传进来的参数nameT!='teacher'就链接到百度
    否则请求通过
4、将该类放到Kernel.php的$routeMiddleware数组中并起个别名如:
    'judge' => \App\Http\Middleware\JudgeTeacher::class,
5、在路由中调用中间件
    Route::get('teacher/teacherShow', 'TeacherController@index')->middleware('judge');
6、访问
    http://localhost/laravel/public/teacher/teacherShow这个链接不会通过验证,会跳转到百度
    http://localhost/laravel/public/teacher/teacherShow?nameT=teacher这个链接会成功通过验证

猜你喜欢

转载自blog.csdn.net/zwhsoul/article/details/80462512