Laravel5利用中间件修改请求参数

[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Broly的博客,本文链接: Laravel5利用中间件修改请求参数

用得越多Laravel做开发,就会发现它越强大!

开发者可以非常灵活的解决各种实际开发中碰到的问题。

废话不多说,开始本文的正题:

首先说说我碰到的问题:

以前开发过一个功能,用了个插件,规定某个请求当中需要带参数auth_token,比如 http://blog.dreamlikes.cn/index.php?auth_token=xxx

一直用着相安无事,但是最近要重构这个项目,改用了另一个插件,但是这个插件规定必须使用参数token,比如 http://blog.dreamlikes.cn/index.php?token=xxx

此处博主表示汗...

按道理来讲,我在controller里面改这个参数也是可以的,但是问题就来了,这两个插件访问前都必须经过授权中间件,不然就访问不了。进不去controller,所以考虑其他方法来解决了。

后来想了想,去官方看了关于中间件的资料:《Route Groups》和《HTTP Middleware》,里面提到了:

To assign middleware to all routes within a group, you may use the middleware key in the group attribute array. Middleware will be executed in the order you define this array:

红字部分是重点,翻译:中间件将会按照数组中定义的顺序依次执行。

那么思路就清晰了,我自己定义一个中间件放在授权中间件之前,然后在这个中间件里面改变参数即可!

步骤一:新建中间件

进入终端输入

然后在 app/Http/Middleware 目录下找到 PreAuth.php ,并编辑为

步骤二:Kernel.php中增加中间件配置

编辑文件 app/Http/Kernel.php ,在$routeMiddleware数组中添加刚刚的中间件:

步骤三:路由中增加中间件配置

大功告成。

如果本文对您有所帮助,可以请作者喝杯咖啡,感谢支持^_^

支付宝支付
微信支付

发表评论

电子邮件地址不会被公开。 必填项已用*标注