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会根据自己的规则在合适的时机执行中间件相应的方法.实际上当 ...
随机推荐
- Qt读写文件
1.头文件 #include<QFile> #include<QFileDialog> #include<QDataStream> 2.写代码前工作 在ui界面拖入 ...
- hibernate报错:MappingException: Could not determine type for...解决办法
有时候实体里的一些属性并不想映射到数据库(比方说子级菜单List), 如果不做处理的话会报字段映射错误找不到这列Column Not Found 例如:org.hibernate.MappingExc ...
- 复习node中加载静态资源--用express+esj
不做解释,代码一看就懂 app.js import express from 'express' import config from './config' const app = express() ...
- extern关键字详解
基本理解 extern放在变量或者函数之前,表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. extern有两个作用 1.当它与"C"一起连 ...
- 怎么利用 ChromeDriver 和 Selenium对 CEF应用进行自动化测试-java实现
Overview ChromeDriver and Selenium are tools for automated testing of Chromium-based applications. T ...
- LeetCode Continuous Subarray Sum 题解 同余前缀和 Hash表
文章目录 题意 思路 特殊情况k=0 Source Code 1 Source Code 2 题意 给定一个数组和一个整数k,返回是否存在一个长度至少为2的连续子数组的和为k的倍数. 思路 和上一篇博 ...
- aws申请ec2实例后如何用root用户登录
ec2默认禁用root用户登录,我们创建ec2实例后如何知道使用什么用户登录,有两种方法? 方法一:根据我们选择的镜像来判断用什么用户登录:镜像:centos 用户centos镜像:aws 用户:ec ...
- CSS的模板资源+编辑图像大小
模板资源 源码之家搜登录页面,链接:https://www.mycodes.net/190/10144.htm (或者搜门户网站 模板之家,里面页面更强大!) 编辑图像大小 然 ...
- 其他 - PotPlayer - 基础快捷键总结
概述 尝试使用 potplayer 的快捷键 背景 最近需要反复看录像 回看 慢速 其他各种 没错, 我的需求就是 游戏复盘... 环境 os win10.1903 player potplayer. ...
- oracle三个网络配置文件(listener.ora、tnsname.ora、sqlnet.ora)的作用
oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. 1. sqlne ...