diff options
author | Ariel Ferrandini <arielferrandini@gmail.com> | 2014-07-05 10:45:19 +0200 |
---|---|---|
committer | Ariel Ferrandini <arielferrandini@gmail.com> | 2014-07-05 12:52:53 +0200 |
commit | 37b68961f133fc8dacc66dcbdaf03e1859122ae0 (patch) | |
tree | adea97c75a9c74857bc0a7c8b5729b825fe54cd0 /Core/Encoder/UserPasswordEncoder.php | |
parent | 24f753ea356e86d522f673283ed33db294601c09 (diff) | |
download | symfony-security-37b68961f133fc8dacc66dcbdaf03e1859122ae0.zip symfony-security-37b68961f133fc8dacc66dcbdaf03e1859122ae0.tar.gz symfony-security-37b68961f133fc8dacc66dcbdaf03e1859122ae0.tar.bz2 |
New service to simplify password encoding
Diffstat (limited to 'Core/Encoder/UserPasswordEncoder.php')
-rw-r--r-- | Core/Encoder/UserPasswordEncoder.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/Core/Encoder/UserPasswordEncoder.php b/Core/Encoder/UserPasswordEncoder.php new file mode 100644 index 0000000..13ee835 --- /dev/null +++ b/Core/Encoder/UserPasswordEncoder.php @@ -0,0 +1,55 @@ +<?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\Core\Encoder; + +use Symfony\Component\Security\Core\User\UserInterface; + +/** + * A generic password encoder + * + * @author Ariel Ferrandini <arielferrandini@gmail.com> + */ +class UserPasswordEncoder implements UserPasswordEncoderInterface +{ + /** + * @var EncoderFactoryInterface + */ + private $encoderFactory; + + /** + * @param EncoderFactoryInterface $encoderFactory The encoder factory + */ + public function __construct(EncoderFactoryInterface $encoderFactory) + { + $this->encoderFactory = $encoderFactory; + } + + /** + * {@inheritdoc} + */ + public function encodePassword(UserInterface $user, $plainPassword) + { + $encoder = $this->encoderFactory->getEncoder($user); + + return $encoder->encodePassword($plainPassword, $user->getSalt()); + } + + /** + * {@inheritdoc} + */ + public function isPasswordValid(UserInterface $user, $raw) + { + $encoder = $this->encoderFactory->getEncoder($user); + + return $encoder->isPasswordValid($user->getPassword(), $raw, $user->getSalt()); + } +} |