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这个链接会成功通过验证
laravel框架---中间件
最新推荐文章于 2024-09-01 10:25:08 发布