时间:2021-05-26
本文实例讲述了laravel框架中间件简单使用方法。分享给大家供大家参考,具体如下:
laravel内置了一个中间件来验证用户是否经过认证,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。
当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求。
Laravel框架自带了一些中间件,包括认证、CSRF 保护中间件等等。所有的中间件都位于 app/Http/Middleware目录。
中间是请求前还是请求后执行取决于中间件本身,以下中间件会在请求处理前执行一些任务
<?phpnamespace 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); }}而下面这个中间件则会在请求处理后执行其任务:
<?phpnamespace 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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Laravel框架实现利用中间件进行操作日志记录功能。分享给大家供大家参考,具体如下:利用中间件进行操作日志记录过程:1、创建中间件phparti
本文实例讲述了Laravel5.1框架注册中间件的三种场景。分享给大家供大家参考,具体如下:在Laravel中注册中间件主要有三种场景,一种给控制器中的方法进行
laravel框架的中间件非常好用,使得我们的防非法和rbac可以简单快速的实现中间件就是控制路由的访问,进行分类并统一管理1、首先我们打开artisan输入下
本文实例讲述了Laravel框架基于中间件实现禁止未登录用户访问页面功能。分享给大家供大家参考,具体如下:1、生成中间件[root@localhostMRedi
本文实例讲述了Laravel5.1框架Middleware中间件基本用法。分享给大家供大家参考,具体如下:中间件?什么鬼?大家第一次接触这个词都会有这么个疑问,