Symfony: cookies gehen im iframe verloren im Internet Explorer


January 21, 2015 at 16:54
Symfony

Ich habe ein Formular mit einem iframe als target. Die Url die dort aufgerufen wird ist die login_check von Symfony, der ich _username und _password schicke, in der Hoffnung, sofort eingeloggt zu werden. Problem: der Internet Explorer verliert die cookies im iframe. Also muss ich den entsprechenden Header setzen, und um das zu vereinfachen setze ich ihn einfach überall indem ich einen Listener einbaue:
namespace Package\SomeBundle\EventListener;

use Symfony\Component\HttpKernel\Event\FilterResponseEvent;

class ResponseListener{
    public function onKernelResponse(FilterResponseEvent $event){
        $event->getResponse()->headers->set('P3P', 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
    }
}
Und registriert wird das ganze in der services.yml:
user.filter_response_listener
        class: Package\SomeBundle\EventListener\ResponseListener
        tags:
            - {name: kernel.event_listener, event: kernel.response, method: onKernelResponse}

Tags: Header IE Listener p3p


Hinterlasse einen Kommentar:
Suche