中间件主要处理http请求,比如拦截、过滤,对此进行相应的处理
如果在多应用模式下,我们可以为各个模块新增这个文件,用来处理自己的http请求。注意,必须要新增handle方法。
启动中间件
方案一:
通过共同文件配置,对所有的页面都适用
创建好中间件后,暂时还不可用,我们需要做配置,将app目录下的中间件定义文件复制到当前模块目录下,定义好路径即可。
方案二:
通过路由绑定,指定特定的页面
中间件官网教程:
https://www.kancloud.cn/manual/thinkphp6_0/1037493
https://www.kancloud.cn/manual/thinkphp6_0/1037515
<?php
namespace app\controller;
class Index
{
//方法一:所有都要验证
protected $middleware = [Auth::class];
或 protected $middleware = ['Auth'];
//方法二:验证部分
protected $middleware = [
'auth' => ['except' => ['hello'] ],//除了hello方法,其它方法都验证
'check' => ['only' => ['hello'] ],//只有hello方法验证,其它方法都不用
];
public function index()
{
return 'index';
}
public function hello()
{
return 'hello';
}
}
重点:
except=除了的意思 only=只有的意思
<?php
namespace app\index\controller;
class Index
{
protected $middleware = [
Auth::class . ':admin' => ['except' => ['hello'] ],
'Hello' => ['only' => ['hello'] ],
];
public function index()
{
return 'index';
}
public function hello()
{
return 'hello';
}
}
TP6例子:
//引用
use app\middleware\JwtAuthMiddleWare;
//控制器中
protected $middleware = [
JwtAuthMiddleWare::class => ['only' => ['verificationToken'] ],
];
————————————————
版权声明:本文为CSDN博主「前端一号站」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39553363/article/details/105338227