关键词搜索

源码搜索 ×
×

thinkphp6:如何玩转中间件

发布2021-09-08浏览632次

详情内容

中间件主要处理http请求,比如拦截、过滤,对此进行相应的处理

在这里插入图片描述

 如果在多应用模式下,我们可以为各个模块新增这个文件,用来处理自己的http请求。注意,必须要新增handle方法。

在这里插入图片描述
启动中间件
方案一:

 在这里插入图片描述

 通过共同文件配置,对所有的页面都适用

创建好中间件后,暂时还不可用,我们需要做配置,将app目录下的中间件定义文件复制到当前模块目录下,定义好路径即可。

在这里插入图片描述
方案二:

通过路由绑定,指定特定的页面

中间件官网教程:

https://www.kancloud.cn/manual/thinkphp6_0/1037493

https://www.kancloud.cn/manual/thinkphp6_0/1037515

  1. <?php
  2. namespace app\controller;
  3. class Index
  4. {
  5. //方法一:所有都要验证
  6. protected $middleware = [Auth::class];
  7. 或 protected $middleware = ['Auth'];
  8. //方法二:验证部分
  9. protected $middleware = [
  10. 'auth' => ['except' => ['hello'] ],//除了hello方法,其它方法都验证
  11. 'check' => ['only' => ['hello'] ],//只有hello方法验证,其它方法都不用
  12. ];
  13. public function index()
  14. {
  15. return 'index';
  16. }
  17. public function hello()
  18. {
  19. return 'hello';
  20. }
  21. }

重点:

except=除了的意思        only=只有的意思

  1. <?php
  2. namespace app\index\controller;
  3. class Index
  4. {
  5. protected $middleware = [
  6. Auth::class . ':admin' => ['except' => ['hello'] ],
  7. 'Hello' => ['only' => ['hello'] ],
  8. ];
  9. public function index()
  10. {
  11. return 'index';
  12. }
  13. public function hello()
  14. {
  15. return 'hello';
  16. }
  17. }

TP6例子:

  1. //引用
  2. use app\middleware\JwtAuthMiddleWare;
  3. //控制器中
  4. protected $middleware = [
  5. JwtAuthMiddleWare::class => ['only' => ['verificationToken'] ],
  6. ];

————————————————
版权声明:本文为CSDN博主「前端一号站」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39553363/article/details/105338227

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载