TP5.1中间件

创建中间件php think make:middleware AuthMiddleware


图片8.png

就会默认创建中间件以及配置文件


图片9.png

创建好的AuthMiddleware
图片10.png

案例:


图片11.png

什么是中间件?
中间件看成是一个过滤器;
就好比,混水->清澈的水 过滤器 一层层的过滤水中的杂质 过滤器

用户请求的时候--> 第一层中间获取用户的请求的header头判断用户当前访 问项目是否安全->第二层判断当前用户访问的项目中的模块是否权限操作 -> 执行到控制器中的方法->执行之后的操作
为什么使用中间件?
过滤用户的请求,保障系统安全

什么时候使用呢?
1.Api平台开发 来对于用户的请求header做一个过滤
2.Api平台开发 只允许post,不允许get
3.在做权限认证的时候使用Auth权限认证

生效:全局所有模块执行的时候都会访问到
图片12.png

只希望单独一个模块起作用就可以放在对应模块下middleware.php
比如:下面就只对于index模块起作用而对于test模块不起做用


图片13.png

单独某个地方起作用
只需要在控制器中重写think\Controller中的


图片14.png

子类中的使用
图片15.png

通过 only,except设置中间件对于方法生效的限制
// 'except' => ['demo'] 设置中间件只针对于 某一个方法不起效果
// 'only' => ['demo'] 设置中间件只针对于 某一个方法起效果
我们可以\app\http\middleware\AuthMiddleware::class


图片16.png

也可以写中间件的类名AuthMiddleware


图片17.png

为什么两种写都可以?
因为在config中middleware.php就配置了中间件的命名空间
图片18.png

在tp执行的时候会先获取执行的中间件,如果是一个类名就会获取配置文件并添
加命名空间,如果是全命名则不需要
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 市面上常见的php框架有很多,最近因为有技术需求,所以对常见的php框架的中间件进行了一些了解。各个框架尽管在目标...
    selbstkennen梁晨阅读 11,939评论 7 28
  • 大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个location配置块使用了多个 Nginx 模块...
    SkTj阅读 8,376评论 0 12
  • 中间件是 Django 用来处理请求和响应的钩子框架。它是一个轻量级的、底层级的“插件”系统,用于全局性地控制Dj...
    liujiangblog阅读 1,389评论 0 4
  • 学习,有苦有甜。如若你现在拼命,那么,将来你决定命运;但如若你现在享受,那么,将来命运左右你。如果现在不努力,那你...
    201701李诗莹阅读 111评论 0 1
  • 最近比较忙,忙的有些晕晕乎乎 xm-jcj 2019-01-15 甲方还在内部撕,我稍微整理了下,涉及到6+8方对...
    jlma7阅读 262评论 0 0

友情链接更多精彩内容