summaryrefslogtreecommitdiffstats
path: root/Http/Firewall
diff options
context:
space:
mode:
authorAlexander <iam.asm89@gmail.com>2012-06-21 09:49:20 +0200
committerAlexander <iam.asm89@gmail.com>2012-07-08 19:59:10 +0200
commitb13c20333403768a1905a43acad7fa2dc1772a25 (patch)
treead0352d9e6e81f095ef4eb0c669ab7c4fd208dda /Http/Firewall
parent15dea5261261c3700c97787df9b6888b978dbac3 (diff)
downloadsymfony-security-b13c20333403768a1905a43acad7fa2dc1772a25.zip
symfony-security-b13c20333403768a1905a43acad7fa2dc1772a25.tar.gz
symfony-security-b13c20333403768a1905a43acad7fa2dc1772a25.tar.bz2
[Security] Add note to CHANGELOG about refactored authentication failure/success handling [Security] Various CS + doc fixes [Security] Exception when authentication failure/success handlers do not return a response [Security] Add authors + fix docblock
Diffstat (limited to 'Http/Firewall')
-rw-r--r--Http/Firewall/AbstractAuthenticationListener.php20
1 files changed, 15 insertions, 5 deletions
diff --git a/Http/Firewall/AbstractAuthenticationListener.php b/Http/Firewall/AbstractAuthenticationListener.php
index 377639c..3324ba9 100644
--- a/Http/Firewall/AbstractAuthenticationListener.php
+++ b/Http/Firewall/AbstractAuthenticationListener.php
@@ -70,12 +70,12 @@ abstract class AbstractAuthenticationListener implements ListenerInterface
* @param SessionAuthenticationStrategyInterface $sessionStrategy
* @param HttpUtils $httpUtils An HttpUtilsInterface instance
* @param string $providerKey
+ * @param AuthenticationSuccessHandlerInterface $successHandler
+ * @param AuthenticationFailureHandlerInterface $failureHandler
* @param array $options An array of options for the processing of a
* successful, or failed authentication attempt
- * @param AuthenticationSuccessHandlerInterface $successHandler
- * @param AuthenticationFailureHandlerInterface $failureHandler
- * @param LoggerInterface $logger A LoggerInterface instance
- * @param EventDispatcherInterface $dispatcher An EventDispatcherInterface instance
+ * @param LoggerInterface $logger A LoggerInterface instance
+ * @param EventDispatcherInterface $dispatcher An EventDispatcherInterface instance
*/
public function __construct(SecurityContextInterface $securityContext, AuthenticationManagerInterface $authenticationManager, SessionAuthenticationStrategyInterface $sessionStrategy, HttpUtils $httpUtils, $providerKey, AuthenticationSuccessHandlerInterface $successHandler, AuthenticationFailureHandlerInterface $failureHandler, array $options = array(), LoggerInterface $logger = null, EventDispatcherInterface $dispatcher = null)
{
@@ -184,7 +184,13 @@ abstract class AbstractAuthenticationListener implements ListenerInterface
$this->securityContext->setToken(null);
- return $this->failureHandler->onAuthenticationFailure($request, $failed);
+ $response = $this->failureHandler->onAuthenticationFailure($request, $failed);
+
+ if (!$response instanceof Response) {
+ throw new \RuntimeException('Authentication Failure Handler did not return a Response.');
+ }
+
+ return $response;
}
private function onSuccess(GetResponseEvent $event, Request $request, TokenInterface $token)
@@ -206,6 +212,10 @@ abstract class AbstractAuthenticationListener implements ListenerInterface
$response = $this->successHandler->onAuthenticationSuccess($request, $token);
+ if (!$response instanceof Response) {
+ throw new \RuntimeException('Authentication Success Handler did not return a Response.');
+ }
+
if (null !== $this->rememberMeServices) {
$this->rememberMeServices->loginSuccess($request, $response, $token);
}