Merge branch '2.8'

* 2.8:
  [Bridge/Doctrine+Ldap] Fix tests
  Marked the Ldap component as internal and removed Ldap constants polyfill

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php
This commit is contained in:
Nicolas Grekas 2015-11-29 17:26:49 +01:00
commit ab2044f6d8
9 changed files with 23 additions and 8 deletions

View File

@ -15,6 +15,8 @@ namespace Symfony\Component\Ldap\Exception;
* ConnectionException is throw if binding to ldap can not be established.
*
* @author Grégoire Pineau <lyrixx@lyrixx.info>
*
* @internal
*/
class ConnectionException extends \RuntimeException
{

View File

@ -15,6 +15,8 @@ namespace Symfony\Component\Ldap\Exception;
* LdapException is throw if php ldap module is not loaded.
*
* @author Grégoire Pineau <lyrixx@lyrixx.info>
*
* @internal
*/
class LdapException extends \RuntimeException
{

View File

@ -18,6 +18,8 @@ use Symfony\Component\Ldap\Exception\LdapException;
* @author Grégoire Pineau <lyrixx@lyrixx.info>
* @author Francis Besset <francis.besset@gmail.com>
* @author Charles Sarrazin <charles@sarraz.in>
*
* @internal
*/
class LdapClient implements LdapClientInterface
{

View File

@ -18,12 +18,11 @@ use Symfony\Component\Ldap\Exception\ConnectionException;
*
* @author Grégoire Pineau <lyrixx@lyrixx.info>
* @author Charles Sarrazin <charles@sarraz.in>
*
* @internal
*/
interface LdapClientInterface
{
const LDAP_ESCAPE_FILTER = 0x01;
const LDAP_ESCAPE_DN = 0x02;
/**
* Return a connection bound to the ldap.
*

View File

@ -1,10 +1,14 @@
Ldap Component
=============
==============
A Ldap client for PHP on top of PHP's ldap extension.
This component also provides a stub for the missing
`ldap_escape` function in PHP versions lower than 5.6.
Disclaimer
----------
This component is currently marked as internal, as it
still needs some work. Breaking changes will be introduced
in the next minor version of Symfony.
Documentation
-------------

View File

@ -74,7 +74,7 @@ class LdapBindAuthenticationProvider extends UserAuthenticationProvider
$password = $token->getCredentials();
try {
$username = $this->ldap->escape($username, '', LdapClientInterface::LDAP_ESCAPE_DN);
$username = $this->ldap->escape($username, '', LDAP_ESCAPE_DN);
$dn = str_replace('{username}', $username, $this->dnString);
$this->ldap->bind($dn, $password);

View File

@ -16,6 +16,9 @@ use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use Symfony\Component\Security\Core\User\User;
use Symfony\Component\Ldap\Exception\ConnectionException;
/**
* @requires extension ldap
*/
class LdapBindAuthenticationProviderTest extends \PHPUnit_Framework_TestCase
{
/**

View File

@ -14,6 +14,9 @@ namespace Symfony\Component\Security\Core\Tests\User;
use Symfony\Component\Security\Core\User\LdapUserProvider;
use Symfony\Component\Ldap\Exception\ConnectionException;
/**
* @requires extension ldap
*/
class LdapUserProviderTest extends \PHPUnit_Framework_TestCase
{
/**

View File

@ -57,7 +57,7 @@ class LdapUserProvider implements UserProviderInterface
{
try {
$this->ldap->bind($this->searchDn, $this->searchPassword);
$username = $this->ldap->escape($username, '', LdapClientInterface::LDAP_ESCAPE_FILTER);
$username = $this->ldap->escape($username, '', LDAP_ESCAPE_FILTER);
$query = str_replace('{username}', $username, $this->defaultSearch);
$search = $this->ldap->find($this->baseDn, $query);
} catch (ConnectionException $e) {