• laravel中间件使用


    laravel中间件使用

    一、总结

    一句话总结:

    laravel内置了一个【中间件来验证用户是否经过认证】,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。
    当然,除了认证之外,中间件还可以被【用来处理更多其它任务】。比如:【CORS 中间件可以用于为离开站点的响应添加合适的头(跨域)】;【日志中间件可以记录所有进入站点的请求】。
    Laravel框架自带了一些中间件,包括【认证、CSRF 保护中间件等等】。所有的中间件都位于 app/Http/Middleware 目录。
    中间是【请求前】还是【请求后】执行取决于中间件本身

    二、laravel中间件使用

    转自或参考:laravel中间件使用
    https://www.cnblogs.com/fwqblogs/p/6641569.html

    laravel内置了一个中间件来验证用户是否经过认证,如果用户没有经过认证,中间件会将用户重定向到登录页面,否则如果用户经过认证,中间件就会允许请求继续往前进入下一步操作。

    当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS 中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录所有进入站点的请求。

    Laravel框架自带了一些中间件,包括认证、CSRF 保护中间件等等。所有的中间件都位于 app/Http/Middleware 目录。

    中间是请求前还是请求后执行取决于中间件本身,以下中间件会在请求处理前执行一些任务:

     1 <?php
     2 
     3 namespace AppHttpMiddleware;
     4 
     5 use Closure;
     6 
     7 class Common
     8 {
     9 
    10     public function handle($request, Closure $next)
    11     {
    12         // 执行动作
    13      
    14         if(!$request->session()->has('huser')){
    15             return redirect("login/index");
    16         }
    17         return $next($request);
    18         
    19         
    20     }
    21 }

    而下面这个中间件则会在请求处理后执行其任务:

     1 <?php
     2 
     3 namespace AppHttpMiddleware;
     4 
     5 use Closure;
     6 
     7 class Common
     8 {
     9 
    10     public function handle($request, Closure $next)
    11     {
    12         $response = $next($request);
    13 
    14         // 执行动作
    15         if(!$request->session()->has('huser')){
    16             return redirect("login/index");
    17         }
    18         
    19         return $response;
    20     
    21         
    22         
    23     }
    24 }

    分配中间件到路由,下面介绍三种方式

     1 Route::get('/',function(){
     2     return redirect('home/index');
     3 })->middleware('common');
     4 
     5 
     6 
     7 Route::group(['middleware' => ['common']], function() {
     8     Route::controller("db","DataBaseController");
     9 });
    10 
    11 
    12 Route::controller("home","HomeController",['middleware'=>'common']);
     
  • 相关阅读:
    Linux 使用grep过滤多个条件及grep常用过滤命令
    看Linux0.11源码分析书籍,补充知识
    调用门描述符格式
    可能用到的一些寄存器
    002. Linux0.00 head.s注释
    linux0.00 的Makefile
    [转载] Bochs 常用的调试指令
    001. 注释过的boot.s
    PHP接口编程——调用第三方接口获取天气
    phpstudy中让ThinkPHP5访问去除/public/index.php
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/14218697.html
Copyright © 2020-2023  润新知