laravel的中间件

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;

    }
}

原文地址:https://www.cnblogs.com/LQK157/p/11491246.html

时间: 2024-10-03 13:09:43

laravel的中间件的相关文章

Laravel Middleware 中间件笔记

Laravel的中间件可以方便的过滤进入我们网页的请求.包括用户授权,CORS来指定流出请求的header等. 定义一个新的中间件可以使用命令: php artisan make:middleware AgeMiddleware 这条命令在app/Http/Middleware中创建AgeMiddleware类. 我们假设我们过滤所有年龄小于200的请求: <?php namespace App\Http\Middleware; use Closure; class AgeMiddleware

Laravel 使用中间件进行权限控制

Laravel 使用中间件进行权限控制 飞凡的陀螺 关注 2018.01.24 17:45 字数 264 阅读 1138评论 0喜欢 1 先看 文档Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求.这里实现一个只有admin角色才能访问特定路由的功能 新建middlewarephp artisan make:middleware MustBeAdmin 打开生成的 \app\Http\Middleware\MustBeAdmin.php 修改handle方法关于hasR

Laravel之中间件

一.中间件的作用 HTTP 中间件提供了一个便利的机制来过滤进入应用的 HTTP 请求.例如,Laravel 包含了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作. 当然,除了认证之外,中间件还可以被用来处理更多其它任务.比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域):日志中间件可以记录所有进入站点的请求.Laravel 框架内置了一些中间件,包括维护模式中间件.认证.CS

laravel 拾遗 中间件

Problem You want to add middleware to your application but don't know where to begin. Solution Create a simple middleware class. Step 1 - Create the class <?php namespace MyApp; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Http

laravel 加中间件的方法 防止直接打开后台

路由 routes.php Route::group(['middleware' => ['web','admin.login.login']], function () { //后台首页路由 Route::get('/admin/index/index','Admin\[email protected]'); }); kernel.php protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::c

laravel在中间件内生成的变量如何传到控制器

在中间件内获取到一个变量,如何返回到控制器中并使用这个变量! 做了个demo: // web.php Route::get('/check', '[email protected]')->middleware(App\Http\Middleware\CheckRequest::class); // Middleware/CheckRequest.php class CheckRequest { /** * Handle an incoming request. * * @param \Illum

Laravel中间件原理

本文和大家分享的主要是Laravel中间件原理相关内容,一起来看看吧,希望对大家学习Laravel有所帮助. Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求, 如 ValidatePostSize 用来验证 POST 请求体大小. ThrottleRequests 用于限制请求频率等. 那Laravel的中间件是怎样工作的呢? 启动流程 再说 Laravel 中间件前,我们先来理一理 laravel 的启动流程 首先,入口文件 index.php 加载了 autolo

Laravel系列之CMS系统学习 — 角色、权限配置【1】

一.后台Admin模块 后台管理是有管理员的,甚至超级管理员,所以在设计数据表的时候,就会有2个方案,一个方案是共用users数据表,添加is_admin,is_superAdmin字段来进行验证,或者将用户编到不同的组里面,另一个方案是,单独创建admins数据表来进行管理(这样前台和后台是两个事件,前台用户是没有机会操作后台相关功能的,也就是完全隔离了) 我采用第二种(实习快四个月了,跟了2个完整项目是这样~) 我在上一篇说到,我使用的是laravel-module,所以相关初始配置不再赘述

laravel5.2总结--csrf保护

CSRF攻击: CSRF 顾名思义,是伪造请求,冒充用户在站内的正常操作.我们知道,绝大多数网站是通过 cookie 等方式辨识用户身份(包括使用服务器端 Session 的网站,因为 Session ID 也是大多保存在 cookie 里面的),再予以授权的.所以要伪造用户的正常操作,最好的方法是通过 XSS 或链接欺骗等途径,让用户在本机(即拥有身份 cookie 的浏览器端)发起用户所不知道的请求. Laravel 会自动生成一个 CSRF token 给每个用户的 Session.该 t