Commit 8a416dff authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Correction bug : test d'activation manquant dans les adapteurs Db et Ldap.

parent 1f0c2a2a
Pipeline #9065 passed with stage
in 1 minute and 14 seconds
...@@ -6,6 +6,7 @@ use Interop\Container\ContainerInterface; ...@@ -6,6 +6,7 @@ use Interop\Container\ContainerInterface;
use UnicaenApp\ServiceManager\ServiceLocatorAwareInterface; use UnicaenApp\ServiceManager\ServiceLocatorAwareInterface;
use UnicaenApp\ServiceManager\ServiceLocatorAwareTrait; use UnicaenApp\ServiceManager\ServiceLocatorAwareTrait;
use UnicaenAuth\Options\ModuleOptions; use UnicaenAuth\Options\ModuleOptions;
use UnicaenAuth\Options\Traits\ModuleOptionsAwareTrait;
use Zend\Authentication\Result as AuthenticationResult; use Zend\Authentication\Result as AuthenticationResult;
use Zend\Crypt\Password\Bcrypt; use Zend\Crypt\Password\Bcrypt;
use Zend\EventManager\EventInterface; use Zend\EventManager\EventInterface;
...@@ -24,6 +25,8 @@ use ZfcUser\Mapper\UserInterface as UserMapperInterface; ...@@ -24,6 +25,8 @@ use ZfcUser\Mapper\UserInterface as UserMapperInterface;
*/ */
class Db extends AbstractAdapter implements ServiceLocatorAwareInterface class Db extends AbstractAdapter implements ServiceLocatorAwareInterface
{ {
use ModuleOptionsAwareTrait;
const TYPE = 'db'; const TYPE = 'db';
/** /**
...@@ -106,6 +109,10 @@ class Db extends AbstractAdapter implements ServiceLocatorAwareInterface ...@@ -106,6 +109,10 @@ class Db extends AbstractAdapter implements ServiceLocatorAwareInterface
return; return;
} }
if (! $this->isEnabled()) {
return;
}
$identity = $e->getRequest()->getPost()->get('identity'); $identity = $e->getRequest()->getPost()->get('identity');
$credential = $e->getRequest()->getPost()->get('credential'); $credential = $e->getRequest()->getPost()->get('credential');
$credential = $this->preProcessCredential($credential); $credential = $this->preProcessCredential($credential);
...@@ -169,6 +176,20 @@ class Db extends AbstractAdapter implements ServiceLocatorAwareInterface ...@@ -169,6 +176,20 @@ class Db extends AbstractAdapter implements ServiceLocatorAwareInterface
->setMessages(array('Authentication successful.')); ->setMessages(array('Authentication successful.'));
} }
/**
* @return bool
*/
protected function isEnabled()
{
$config = $this->moduleOptions->getDb();
if (isset($config['enabled'])) {
return (bool) $config['enabled'];
}
return false;
}
protected function updateUserPasswordHash(UserInterface $userObject, $password, Bcrypt $bcrypt) protected function updateUserPasswordHash(UserInterface $userObject, $password, Bcrypt $bcrypt)
{ {
$hash = explode('$', $userObject->getPassword()); $hash = explode('$', $userObject->getPassword());
......
...@@ -23,6 +23,12 @@ class DbAdapterFactory ...@@ -23,6 +23,12 @@ class DbAdapterFactory
$adapter = new Db(); $adapter = new Db();
$adapter->setStorage(new Session(Db::class)); $adapter->setStorage(new Session(Db::class));
$options = array_merge(
$container->get('zfcuser_module_options')->toArray(),
$container->get('unicaen-auth_module_options')->toArray());
$moduleOptions = new ModuleOptions($options);
$adapter->setModuleOptions($moduleOptions);
$substitut = $moduleOptions->getDb()['type'] ?? null; $substitut = $moduleOptions->getDb()['type'] ?? null;
if ($substitut !== null) { if ($substitut !== null) {
$adapter->setType($substitut); $adapter->setType($substitut);
......
...@@ -114,6 +114,10 @@ class Ldap extends AbstractAdapter implements EventManagerAwareInterface ...@@ -114,6 +114,10 @@ class Ldap extends AbstractAdapter implements EventManagerAwareInterface
return; return;
} }
if (! $this->isEnabled()) {
return;
}
$username = $e->getRequest()->getPost()->get('identity'); $username = $e->getRequest()->getPost()->get('identity');
$credential = $e->getRequest()->getPost()->get('credential'); $credential = $e->getRequest()->getPost()->get('credential');
...@@ -159,6 +163,20 @@ class Ldap extends AbstractAdapter implements EventManagerAwareInterface ...@@ -159,6 +163,20 @@ class Ldap extends AbstractAdapter implements EventManagerAwareInterface
$this->userService->userAuthenticated($ldapPeople); $this->userService->userAuthenticated($ldapPeople);
} }
/**
* @return bool
*/
protected function isEnabled()
{
$config = $this->moduleOptions->getLdap();
if (isset($config['enabled'])) {
return (bool) $config['enabled'];
}
return false;
}
/** /**
* Extrait le loginUsurpateur et le loginUsurpé si l'identifiant spécifé est de la forme * Extrait le loginUsurpateur et le loginUsurpé si l'identifiant spécifé est de la forme
* "loginUsurpateur=loginUsurpé". * "loginUsurpateur=loginUsurpé".
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment