Проблема несоответствия токенов в IFrame в Internet Explorer. Ларавел 5.2

В чем проблема?

Я сталкиваюсь с проблемой несоответствия токенов при доступе к сайту в IFrame в Internet Explorer.


Что я пробовал до сих пор?

Я ищу разрешение и нашел эту ссылку

Ниже приведен код, который я нашел по ссылке выше

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?

1 ответ

Вы должны создать после промежуточного ПО и добавить это промежуточное ПО в 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,
Другие вопросы по тегам