middleware 中间件详解
如果感觉这篇文章有用请点个赞,让我知道自己的努力不白费!!!
中间件是请求必经之处,所以此处能对请求的数据做一系列处理,相当于过滤器。例如跨域请求,验证会员是否登录跳转至登录页,前后端分离数据类型不一致,防御xss脚本攻击等。这些作者都用过,所以感觉很好用。
1.生成中间件: php artisan make:middleware UserAuth(中间件名)
2.在app\http\kernel.php 中:
$middleware数组内为全局中间件(每次请求都经过),$routeMiddleware可以指定自定义中间件,在生成的中间件handle方法内写代码逻辑
Route::middleware(['CheckUserLogin'])->grtoup(function(){
// 路由组
});
一般情况下中间件含有多个路由组,如果单一一个还不如在方法内处理。
$middlewareGroups 为中间件组,即你可以起一个中间件名指定路由内部有多个中间件进行过滤。
看RouteServiceProvider.php中
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('api') //系统默认中间件
->namespace($this->namespace)
->group(base_path('routes/api.php')); //系统指定路由
}
系统已经为指定路由指定好中间件,这就是文档中为几个route界面默认好中间件。
3.中间件参数
有时候你用同一个中间件执行相同的逻辑但是不同的判断,例如你有两个平台相同的用户判断用户是否登录,如果没登录就跳转不同的登录界面,这时候只需要在中间件传一个参数就能进行判断。
Route::middleware(['CheckUser:web'])->group(function(){ //路由组 });
至此路由已经介绍完了,如果大家有疑问或者更好的方法使用,请告知我及时补充。
每周不定时更新
如果有用请点个赞吧,照亮我前进孤独的路。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: