Merge pull request #1 from nietonfir/http_basic_ldap

Update HttpBasicLdapFactory
This commit is contained in:
Lukas Kahwe Smith 2017-01-26 15:29:38 +01:00
commit 8ddd5333a3
No known key found for this signature in database
GPG Key ID: D859E62434DF44F7
2 changed files with 7 additions and 4 deletions

View File

@ -28,7 +28,7 @@ class HttpBasicLdapFactory extends HttpBasicFactory
public function create(ContainerBuilder $container, $id, $config, $userProvider, $defaultEntryPoint)
{
$provider = 'security.authentication.provider.ldap_bind.'.$id;
$container
$definition = $container
->setDefinition($provider, new ChildDefinition('security.authentication.provider.ldap_bind'))
->replaceArgument(0, new Reference($userProvider))
->replaceArgument(1, new Reference('security.user_checker.'.$id))
@ -40,6 +40,10 @@ class HttpBasicLdapFactory extends HttpBasicFactory
// entry point
$entryPointId = $this->createEntryPoint($container, $id, $config, $defaultEntryPoint);
if (!empty($config['query_string'])) {
$definition->addMethodCall('setQueryString', array($config['query_string']));
}
// listener
$listenerId = 'security.authentication.listener.basic.'.$id;
$listener = $container->setDefinition($listenerId, new ChildDefinition('security.authentication.listener.basic'));
@ -57,6 +61,7 @@ class HttpBasicLdapFactory extends HttpBasicFactory
->children()
->scalarNode('service')->defaultValue('ldap')->end()
->scalarNode('dn_string')->defaultValue('{username}')->end()
->scalarNode('query_string')->end()
->end()
;
}

View File

@ -93,9 +93,7 @@ class LdapBindAuthenticationProvider extends UserAuthenticationProvider
if ($this->queryString) {
$query = str_replace('{username}', $username, $this->queryString);
$query = $this->ldap->query($this->dnString, $query);
$result = $query->execute();
$result = $this->ldap->query($this->dnString, $query)->execute();
if (1 !== $result->count()) {
throw new BadCredentialsException('The presented username is invalid.');
}