1

有什么问题 ?

在 Internet Explorer 中访问 IFrame 中的站点时,我遇到了令牌不匹配问题。


到目前为止我尝试了什么?

我搜索解决方案并找到此链接

下面是我在上面的链接中找到的代码

App::after(function ($request,$response){
    if($request->is('external/*')){
        // IE iframe cookie fix
        $response->header('P3P', 
                  'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
    }
});

问题是什么 ?

我应该在 Laravel 5.2 哪里写上面的代码?

4

1 回答 1

0

您应该在中间件之后创建并将此中间件添加到web中间件,假设您将web组中间件用于您的路由。

示例中间件:

<?php

namespace App\Http\Middleware;

use Closure;

class FixIeFrameMiddleware
{
    public function handle($request, Closure $next)
    {
        $response = $next($request);

        if($request->is('external/*')){
            // IE iframe cookie fix
            $response->header('P3P', 
                      'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
        }

        return $response;
    }
}

现在在组app/Http/Kernel.php$middlewareGroups属性中,web您应该添加新的数组元素:

 \App\Http\Middleware\FixIeFrameMiddleware::class,
于 2015-12-31T20:41:23.880 回答