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. * ConnectionException is throw if binding to ldap can not be established.
* *
* @author Grégoire Pineau <lyrixx@lyrixx.info> * @author Grégoire Pineau <lyrixx@lyrixx.info>
*
* @internal
*/ */
class ConnectionException extends \RuntimeException 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. * LdapException is throw if php ldap module is not loaded.
* *
* @author Grégoire Pineau <lyrixx@lyrixx.info> * @author Grégoire Pineau <lyrixx@lyrixx.info>
*
* @internal
*/ */
class LdapException extends \RuntimeException class LdapException extends \RuntimeException
{ {

View File

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

View File

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

View File

@ -1,10 +1,14 @@
Ldap Component Ldap Component
============= ==============
A Ldap client for PHP on top of PHP's ldap extension. A Ldap client for PHP on top of PHP's ldap extension.
This component also provides a stub for the missing Disclaimer
`ldap_escape` function in PHP versions lower than 5.6. ----------
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 Documentation
------------- -------------

View File

@ -74,7 +74,7 @@ class LdapBindAuthenticationProvider extends UserAuthenticationProvider
$password = $token->getCredentials(); $password = $token->getCredentials();
try { 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); $dn = str_replace('{username}', $username, $this->dnString);
$this->ldap->bind($dn, $password); $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\Security\Core\User\User;
use Symfony\Component\Ldap\Exception\ConnectionException; use Symfony\Component\Ldap\Exception\ConnectionException;
/**
* @requires extension ldap
*/
class LdapBindAuthenticationProviderTest extends \PHPUnit_Framework_TestCase 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\Security\Core\User\LdapUserProvider;
use Symfony\Component\Ldap\Exception\ConnectionException; use Symfony\Component\Ldap\Exception\ConnectionException;
/**
* @requires extension ldap
*/
class LdapUserProviderTest extends \PHPUnit_Framework_TestCase class LdapUserProviderTest extends \PHPUnit_Framework_TestCase
{ {
/** /**

View File

@ -57,7 +57,7 @@ class LdapUserProvider implements UserProviderInterface
{ {
try { try {
$this->ldap->bind($this->searchDn, $this->searchPassword); $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); $query = str_replace('{username}', $username, $this->defaultSearch);
$search = $this->ldap->find($this->baseDn, $query); $search = $this->ldap->find($this->baseDn, $query);
} catch (ConnectionException $e) { } catch (ConnectionException $e) {