From 182fd3cb98e0ba770cc082af13f95e41592cdff4 Mon Sep 17 00:00:00 2001 From: Ferdinant Visser Date: Fri, 27 Mar 2015 09:39:21 +0100 Subject: [PATCH 1/5] pass token with events, so events can use them for storing password in local db or else --- Event/LdapUserEvent.php | 17 +++++++++++++---- Provider/LdapAuthenticationProvider.php | 4 ++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Event/LdapUserEvent.php b/Event/LdapUserEvent.php index f0046b8..a3dd824 100644 --- a/Event/LdapUserEvent.php +++ b/Event/LdapUserEvent.php @@ -3,18 +3,17 @@ namespace IMAG\LdapBundle\Event; use Symfony\Component\EventDispatcher\Event; - -use Symfony\Component\Security\Core\User\UserInterface; - use IMAG\LdapBundle\User\LdapUserInterface; class LdapUserEvent extends Event { private $user; + private $token; - public function __construct(LdapUserInterface $user) + public function __construct(LdapUserInterface $user, $token = null) { $this->user = $user; + $this->token = $token; } public function getUser() @@ -28,4 +27,14 @@ public function setUser($user) return $this; } + + public function getToken() + { + return $this->token; + } + + public function setToken($token) + { + $this->token = $token; + } } diff --git a/Provider/LdapAuthenticationProvider.php b/Provider/LdapAuthenticationProvider.php index 5eeeb99..c9b02db 100644 --- a/Provider/LdapAuthenticationProvider.php +++ b/Provider/LdapAuthenticationProvider.php @@ -99,7 +99,7 @@ public function authenticate(TokenInterface $token) */ private function ldapAuthenticate(LdapUserInterface $user, TokenInterface $token) { - $userEvent = new LdapUserEvent($user); + $userEvent = new LdapUserEvent($user, $token); if (null !== $this->dispatcher) { try { $this->dispatcher->dispatch(LdapEvents::PRE_BIND, $userEvent); @@ -119,7 +119,7 @@ private function ldapAuthenticate(LdapUserInterface $user, TokenInterface $token } if (null !== $this->dispatcher) { - $userEvent = new LdapUserEvent($user); + $userEvent = new LdapUserEvent($user, $token); try { $this->dispatcher->dispatch(LdapEvents::POST_BIND, $userEvent); } catch (AuthenticationException $authenticationException) { From d73c35dcbd78fbe3c849fea69a9d63cd6edbdcf3 Mon Sep 17 00:00:00 2001 From: turnred Date: Fri, 27 Mar 2015 10:04:58 +0100 Subject: [PATCH 2/5] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 4504db8..235d48b 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "imag/ldap-bundle", + "name": "turnred/ldap-bundle", "description": "LDAP Bundle for Symfony 2", "homepage": "http://github.com/BorisMorel/LdapBundle", "license": "CeCILL", From b8838d2005f6490c35d58530cbbc2b850c75179b Mon Sep 17 00:00:00 2001 From: turnred Date: Fri, 27 Mar 2015 10:06:05 +0100 Subject: [PATCH 3/5] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 235d48b..4504db8 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "turnred/ldap-bundle", + "name": "imag/ldap-bundle", "description": "LDAP Bundle for Symfony 2", "homepage": "http://github.com/BorisMorel/LdapBundle", "license": "CeCILL", From 01e3486d7f3a15532010a7c3353aabcac9234d2a Mon Sep 17 00:00:00 2001 From: turnred Date: Fri, 27 Mar 2015 10:08:57 +0100 Subject: [PATCH 4/5] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 4504db8..235d48b 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "imag/ldap-bundle", + "name": "turnred/ldap-bundle", "description": "LDAP Bundle for Symfony 2", "homepage": "http://github.com/BorisMorel/LdapBundle", "license": "CeCILL", From 023dc6188fc8c668a7f4d8aaa773d46264513bba Mon Sep 17 00:00:00 2001 From: vtek21 Date: Mon, 11 Jul 2016 16:29:40 +0200 Subject: [PATCH 5/5] Fix compatibility issue with SF 2.8 --- Factory/LdapFactory.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Factory/LdapFactory.php b/Factory/LdapFactory.php index 8eacecc..06379f8 100644 --- a/Factory/LdapFactory.php +++ b/Factory/LdapFactory.php @@ -48,20 +48,23 @@ protected function getListenerId() protected function createAuthProvider(ContainerBuilder $container, $id, $config, $userProviderId) { $dao = 'security.authentication.provider.dao.'.$id; - $container + $definition = $container ->setDefinition($dao, new DefinitionDecorator('security.authentication.provider.dao')) ->replaceArgument(0, new Reference($userProviderId)) ->replaceArgument(2, $id) ; - + if ($container->hasDefinition('security.user_checker')) { + $definition + ->replaceArgument(1, new Reference('security.user_checker.'.$id)) + ; + } $provider = 'imag_ldap.security.authentication.provider.'.$id; $container ->setDefinition($provider, new DefinitionDecorator('imag_ldap.security.authentication.provider')) ->replaceArgument(0, new Reference($userProviderId)) ->replaceArgument(1, new Reference($dao)) ->replaceArgument(4, $id) - ; - + ; return $provider; }