summaryrefslogtreecommitdiffstats
path: root/Http/Firewall
diff options
context:
space:
mode:
authorFabien Potencier <fabien.potencier@gmail.com>2015-11-23 11:22:15 +0100
committerFabien Potencier <fabien.potencier@gmail.com>2015-11-23 11:22:15 +0100
commit1500a2ceb20b1bcf908f07ee2104225b3e35ee65 (patch)
tree5e737b12076ed9c14f39193b7b2c0132468c9050 /Http/Firewall
parentf0ebcd061a1a7875de332d36de9c50a416885caa (diff)
parentcc98e8c84c84b9ffda2544762c41bfee8e192b72 (diff)
downloadsymfony-security-1500a2ceb20b1bcf908f07ee2104225b3e35ee65.zip
symfony-security-1500a2ceb20b1bcf908f07ee2104225b3e35ee65.tar.gz
symfony-security-1500a2ceb20b1bcf908f07ee2104225b3e35ee65.tar.bz2
security #16631 n/a (xabbuh)v2.3.35
This PR was merged into the 2.3 branch. Discussion ---------- n/a n/a Commits ------- f88e600 migrate session after remember me authentication
Diffstat (limited to 'Http/Firewall')
-rw-r--r--Http/Firewall/RememberMeListener.php8
1 files changed, 8 insertions, 0 deletions
diff --git a/Http/Firewall/RememberMeListener.php b/Http/Firewall/RememberMeListener.php
index 942e537..52a231c 100644
--- a/Http/Firewall/RememberMeListener.php
+++ b/Http/Firewall/RememberMeListener.php
@@ -20,6 +20,7 @@ use Symfony\Component\Security\Http\RememberMe\RememberMeServicesInterface;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use Symfony\Component\Security\Http\SecurityEvents;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
+use Symfony\Component\Security\Http\Session\SessionAuthenticationStrategy;
/**
* RememberMeListener implements authentication capabilities via a cookie.
@@ -33,6 +34,7 @@ class RememberMeListener implements ListenerInterface
private $authenticationManager;
private $logger;
private $dispatcher;
+ private $sessionStrategy;
/**
* Constructor.
@@ -50,6 +52,7 @@ class RememberMeListener implements ListenerInterface
$this->authenticationManager = $authenticationManager;
$this->logger = $logger;
$this->dispatcher = $dispatcher;
+ $this->sessionStrategy = new SessionAuthenticationStrategy(SessionAuthenticationStrategy::MIGRATE);
}
/**
@@ -70,6 +73,11 @@ class RememberMeListener implements ListenerInterface
try {
$token = $this->authenticationManager->authenticate($token);
+
+ if ($request->hasSession() && $request->getSession()->isStarted()) {
+ $this->sessionStrategy->onAuthentication($request, $token);
+ }
+
$this->securityContext->setToken($token);
if (null !== $this->dispatcher) {