- 首先我们要定义一个新的中间件,Artisan命令:
php artisan make:middleware LoginMiddleware
这个命令会在 app/Http/Middleware 目录下创建一个新的中间件类 LoginMiddleware.php
我这里是判断session里是否有值,如果没有值,则重定向到登陆界面,让用户重新登录,无法访问。右侧方框里可以写自己的逻辑。
然后,我们还需要在Kernel.php文件里注册一下。
注册中间件
中间件分三类,分别是全局中间件、中间件组和指定路由中间件:
- 全局中间件
如果你想要定义的中间件在每一个 HTTP 请求时都被执行,只需要将相应的中间件类添加到 app/Http/Kernel.php 的数组属性 $middleware 中即可。
- 分配中间件到指定路由
如果你想要分配中间件到指定路由,首先应该在 app/Http/Kernel.php 文件中分配给该中间件一个 key,默认情况下,该类的 $routeMiddleware 属性包含了 Laravel 自带的中间件,要添加你自己的中间件,只需要将其追加到后面并为其分配一个 key。
- 中间件组
有时候你可能想要通过指定一个键名的方式将相关中间件分到同一个组里面,这样可以更方便地将其分配到路由中,这可以通过使用 HTTP Kernel 提供的 $middlewareGroups 属性实现。