diff options
author | Alexander <iam.asm89@gmail.com> | 2012-07-14 16:07:08 +0200 |
---|---|---|
committer | Alexander <iam.asm89@gmail.com> | 2012-07-14 16:07:08 +0200 |
commit | b8e351355dbba100f7da975f31e9a6a73146b61a (patch) | |
tree | b2a671e17f0c3e467d61849df4132ddc999efd31 /Http/Logout | |
parent | 46e7e6cf5307d8d336a08f0bc10f4d503602ecf8 (diff) | |
download | symfony-security-b8e351355dbba100f7da975f31e9a6a73146b61a.zip symfony-security-b8e351355dbba100f7da975f31e9a6a73146b61a.tar.gz symfony-security-b8e351355dbba100f7da975f31e9a6a73146b61a.tar.bz2 |
[Security] Extract default logout success handling logic
Diffstat (limited to 'Http/Logout')
-rw-r--r-- | Http/Logout/DefaultLogoutSuccessHandler.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Http/Logout/DefaultLogoutSuccessHandler.php b/Http/Logout/DefaultLogoutSuccessHandler.php new file mode 100644 index 0000000..e06cb6d --- /dev/null +++ b/Http/Logout/DefaultLogoutSuccessHandler.php @@ -0,0 +1,47 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Security\Http\Logout; + +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\Security\Http\HttpUtils; +use Symfony\Component\Security\Http\Logout\LogoutSuccessHandlerInterface; + +/** + * Default logout success handler will redirect users to a configured path. + * + * @author Fabien Potencier <fabien@symfony.com> + * @author Alexander <iam.asm89@gmail.com> + */ +class DefaultLogoutSuccessHandler implements LogoutSuccessHandlerInterface +{ + protected $httpUtils; + protected $targetUrl; + + /** + * @param HttpUtils $httpUtils + * @param string $targetUrl + */ + public function __construct(HttpUtils $httpUtils, $targetUrl = '/') + { + $this->httpUtils = $httpUtils; + + $this->targetUrl = $targetUrl; + } + + /** + * {@inheritDoc} + */ + public function onLogoutSuccess(Request $request) + { + return $this->httpUtils->createRedirectResponse($request, $this->targetUrl); + } +} |