laravel框架中间件简单使用方法示例
2020-02-13 11:30
776 查看
本文实例讲述了laravel框架中间件简单使用方法。分享给大家供大家参考,具体如下:
laravel内置了一个中间件来验证用户是否经过认证,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。
当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求。
Laravel框架自带了一些中间件,包括认证、CSRF 保护中间件等等。所有的中间件都位于 app/Http/Middleware目录。
中间是请求前还是请求后执行取决于中间件本身,以下中间件会在请求处理前执行一些任务
<?php namespace App\Http\Middleware; use Closure; class TestMiddle { public function handle($request, Closure $next) { // 执行动作 if(!$request->session()->has('huser')){ return redirect("login/index"); } return $next($request); } }
而下面这个中间件则会在请求处理后执行其任务:
<?php namespace App\Http\Middleware; use Closure; class TestMiddle { public function handle($request, Closure $next) { $response = $next($request); // 执行动作 if(!$request->session()->has('huser')){ return redirect("login/index"); } return $response; } }
中间件可以自己在编辑器里面新建对应类生成,也可用命令生成
php artisan make:middleware TestMiddle
此时,laravel的app\Http\Middleware\目录就会多一个TestMiddle.php的中间件文件
此时中间件还不能直接使用,必须把它注册到我们的laravel中,如下
只需在 app/Http/Kernel.php 类(3个属性,对应里面加入,我有时用路由的)
'TestMiddle' => \App\Http\Middleware\TestMiddle::class,
分配中间件到路由,下面介绍三种方式
Route::get('/',function(){ return redirect('home/index'); })->middleware('TestMiddle'); Route::group(['middleware' => ['TestMiddle']], function() { Route::controller("db","DataBaseController"); }); Route::controller("home","HomeController",['middleware'=>'TestMiddle']);
更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
您可能感兴趣的文章:
- Laravel中间件实现原理详解
- Laravel框架实现利用中间件进行操作日志记录功能
- Laravel的throttle中间件失效问题解决方法
- Laravel获取当前请求的控制器和方法以及中间件的例子
- laravel框架中间件 except 和 only 的用法示例
- Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
- 浅谈Laravel中的三种中间件的作用
- Laravel5.1框架注册中间件的三种场景详解
- laravel利用中间件防止未登录用户直接访问后台的方法
- laravel利用中间件做防非法登录和权限控制示例
- 基于Laravel 多个中间件的执行顺序详解
- Laravel5.1 框架Middleware中间件基本用法实例分析
相关文章推荐
- laravel5.1框架基础之Blade模板继承简单使用方法分析
- Yii框架的redis命令使用方法简单示例
- laravel5.1框架基础之Blade模板继承简单使用方法
- ICE框架【源于.NET、CORBA及WEB SERVICE这些中间件的不足】-----ICE简单介绍及使用示例
- Laravel框架中简单使用中间件
- Quartz.Net的使用(简单配置方法)定时任务框架
- Quartz.Net的使用(简单配置方法)定时任务框架
- Laravel框架实现超简单的分页效果示例
- jQuery表格插件ParamQuery简单使用方法示例
- laravel框架-session简单使用
- SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论 SignalR 简单示例 通过三个DEMO学会SignalR的三种实现方式 SignalR推送框架两个项目永久连接通讯使用 SignalR 集线器简单实例2 用SignalR创建实时永久长连接异步网络应用程序
- Vue v-text指令简单使用方法示例
- Yii框架中CGridView的使用方法以及详细示例
- springMVC和Shiro框架整合使用简单示例
- JS简单实现父子窗口传值功能示例【未使用iframe框架】
- SSM框架 使用方法和简单逻辑
- thinkPHP框架中layer.js的封装与使用方法示例
- 使用composer 安装 laravel框架的方法图文详解
- Yii框架Session与Cookie使用方法示例
- flask框架使用orm连接数据库的方法示例