laravel-middleware中间件常用使用方法
介绍
- 中间件提供了一种方便的机制过滤进入应用程序的 HTTP 请求。例如,Laravel 包含一个中间件,验证您的应用程序的用户身份验证。如果用户未被认证,中间件会将用户重定向到登录界面。然而,如果用户通过身份验证,中间件将进一步允许请求到应用程序中。
- 当然,除了身份认证以外,还可以编写另外的中间件来执行各种任务。例如:CORS 中间件可以负责为所有离开应用的响应添加合适的头部信息;日志中间件可以记录所有传入应用的请求。
- Laravel 自带了一些中间件,包括身份验证、CSRF 保护等。所有这些中间件都位于
app/Http/Middleware目录
定义中间件的命令:
php artisan make:middleware GetCurrentTime
该命令会在 app/Http/Middleware 目录下创建一个新的GetCurrentTime类,
下面我们来演示一下中间件的简单使用
编写一个显示时间的middleware
编写完成的中间件必须注册之后才能使用: 在app\Http\Kernel.php中注册
1.全局注册
在Kernel.php的protected $middleware中注册全局都可以使用
protected $middleware = [
\App\Http\Middleware\GetCurrentTime::class,
];
显示如下

2.使用路由进行注册使用 :
在protected $routeMiddleware中注册路由中间件
protected $routeMiddleware = [
'get_current_time'=>\App\Http\Middleware\GetCurrentTime::class,
];
显示如下:在路由后面使用链式加middleware(‘你定义的路由中间件的名称’);
结果如下

3. 在控制器中使用
在定义中的控制器中使用的Route代码
Route::get('demo','TestController@index');
class TestController extends Controller
{ public function __construct(){
// 排除某些方法
// return $this->middleware(['get_current_time'])->except('index');
return $this->middleware('get_current_time');
}
public function index(){
echo 'a';
}
}
显示如下

laravel-middleware中间件常用使用方法的更多相关文章
- Django之Middleware中间件方法使用
自定义中间件五个方法(部分方法)实例 自定义中间件项目: 模板Templates login.html {% load static %} <!DOCTYPE html> <html ...
- ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)
ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Constructor(构造函数) 2.Configure ...
- Startup 和 Middleware(中间件)
Startup 和 Middleware(中间件) ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Con ...
- Laravel 使用中间件进行权限控制
Laravel 使用中间件进行权限控制 飞凡的陀螺 关注 2018.01.24 17:45 字数 264 阅读 1138评论 0喜欢 1 先看 文档Laravel 中间件提供了一种方便的机制来过滤进入 ...
- 深入解析Laravel的中间件
Laravel 中间件是什么? 简而言之,中间件在 laravel 中的作用就是过滤 HTTP 请求,根据不同的请求来执行不同的逻辑操作. 我们可以通过中间件实现以下功能: 指定某些路由 设置 HTT ...
- Java类WebServer及中间件拿webshell方法总结
0.序 原文名称:Tomcat.Weblogic.JBoss.GlassFish.Resin.Websphere弱口令及拿webshell方法总结 原文from:http://www.hack80.c ...
- ASP.NET MVC随想录——创建自定义的Middleware中间件
经过前2篇文章的介绍,相信大家已经对OWIN和Katana有了基本的了解,那么这篇文章我将继续OWIN和Katana之旅——创建自定义的Middleware中间件. 何为Middleware中间件 M ...
- 创建自定义的Middleware中间件
创建自定义的Middleware中间件 阅读目录 何为Middleware中间件 使用Inline方式注册Middleware 使用Inline+ AppFunc方式注册Middleware 定义原生 ...
- Django中Middleware中间件
Django中Middleware中间件 1 Middleware中间件概述 django中间middleware实质就是一个类,django会根据自己的规则在合适的时机执行中间件相应的方法.实际上当 ...
随机推荐
- JN_0014:win10命令窗口以管理员方式启动
1,先打开命令窗口 2,固定到任务栏 3,右键任务栏图标 4,右键命令提示符, 5,选择以管理员方式启动.
- 初识Mybatis和一些配置和练习
什么是Mybatis: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyBat ...
- Win10桌面菜单弹出cmd解决办法
现象 Win10右键菜单打开弹出命令提示符 原有个性化.显示设置.网络和Internet设置无法使用 解决 注册表定位到HKEY_CURRENT_USER\Software\Classes\ ms-s ...
- LOJ #6402. yww 与校门外的树 多项式求逆
蛮神的一道题. code: #include <cmath> #include <cstring> #include <algorithm> #include &l ...
- Hadoop集群初步搭建:
自己整理了一下Hadoop集群简易搭建的过程,感谢尚观科技贾老师的授课和指导! 基本环境要求:能联网电脑一台:装有Centos系统的VMware虚拟机:Xmanager Enterprise 5软件. ...
- Docker最全教程——从理论到实战(十六)
前言 与其他语言相比,Go非常值得推荐和学习,真香!为什么?主要是可以直接编译成机器代码(性能优越,体积非常小,可达10来M,见实践教程图片)而且设计良好,上手门槛低.本篇主要侧重于讲解了Go语言的优 ...
- 2019-08-20 纪中NOIP模拟A组
T1 [JZOJ6310] Global warming 题目描述 给定整数 n 和 x,以及一个大小为 n 的序列 a. 你可以选择一个区间 [l,r],然后令 a[i]+=d(l<=i< ...
- 【巨杉数据库SequoiaDB】巨杉数据库荣获《金融电子化》“金融科技创新奖”
巨杉助力金融科技创新 2019年12月19日,由<金融电子化>杂志社主办.北京金融科技产业联盟协办的“2019中国金融科技年会暨第十届金融科技及服务优秀创新奖颁奖典礼”在京成功召开.来自金 ...
- 51Nod 1182 完美字符串 (贪心)
约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写.(也就是说字母F和f)的完美度相同. ...
- vue.js 的cdn 链接的引用地址
引用地址有两种一种完整版,一种压缩版效果是一样的 https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js https://cdn.bootcss.com ...