如何在中间件laravel

时间:2017-08-03 03:11:34

标签: laravel

这是我的中间件:

<?php

namespace App\Http\Middleware;

use Closure;

class CheckSession
{
    public function handle($request, Closure $next)
    {
        return $next($request);
    }

    public function CheckSessionPageReuestTokenFailed($request, $next)
    {
        if ($request->session()->has('request_failed')) {
            return $next($request);
        } else {
            echo 'forbidden';
        }
    }

}

我如何使用方法CheckSessionPageReuestTokenFailed($ request,$ next)?

感谢

3 个答案:

答案 0 :(得分:0)

public function handle($request, Closure $next)
{
     $this->CheckSessionPageReuestTokenFailed($request, $next);

     return $next($request);
}

答案 1 :(得分:0)

您可以在handle()方法内使用。

public function handle($request, Closure $next)
{
    $this->CheckSessionPageReuestTokenFailed($request, $next);
    return $next($request);
}

答案 2 :(得分:0)

为什么你写了这个方法?你可以将这段代码写入handle方法。

public function handle($request, Closure $next)
    {
        if ($request->session()->has('request_failed')) {
            return $next($request);
        } else {
            echo 'forbidden';
        }
    }

并且您还需要将此中间件注册到$routeMiddleware数组中 app/Http/Kernel.php个文件。 添加此行:  'CheckSession' => CheckSession::class,

阅读laravel文档以了解更多https://laravel.com/docs/5.4/middleware