Commit d6cf0aa5 authored by David Surville's avatar David Surville
Browse files

Injection plus nécessaire de l'attribut ldap, défini dans la conf, à utiliser...

Injection plus nécessaire de l'attribut ldap, défini dans la conf, à utiliser pour le username d'un utilisateur car cette opération est effectuée lors de la récupération de l'entité depuis les données Ldap enregistrées en session.
parent 097baaeb
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
@@ -35,11 +35,6 @@ class Username implements ProviderInterface
     */
    protected $roles;

    /**
     * @var string
     */
    protected $usernameAttribute;

    /**
     *
     * @param AuthenticationService $authService
@@ -51,17 +46,6 @@ class Username implements ProviderInterface
        $this->config      = $config;
    }

    /**
     * @param $usernameAttribute
     * @return $this
     */
    public function setUsernameAttribute($usernameAttribute)
    {
        $this->usernameAttribute = $usernameAttribute;

        return $this;
    }

    /**
     * @return RoleInterface[]
     */
@@ -79,9 +63,6 @@ class Username implements ProviderInterface
                if (isset($identity['ldap'])) {
                    /** @var People $identity */
                    $identity = $identity['ldap'];
                    if ($identity instanceof People) {
                        $identity->setUsernameAttributeName($this->usernameAttribute);
                    }
                }
                elseif (isset($identity['db'])) {
                    /** @var UserInterface $identity */
+2 −18
Original line number Diff line number Diff line
@@ -2,11 +2,9 @@

namespace UnicaenUtilisateur\Provider\Role;

use Psr\Container\ContainerInterface;
use Laminas\ServiceManager\FactoryInterface;
use Laminas\ServiceManager\ServiceLocatorInterface;
use UnicaenAuthentification\Options\ModuleOptions;
use UnicaenUtilisateur\Exception\RuntimeException;
use Psr\Container\ContainerInterface;

/**
 * Description of UsernameServiceFactory
@@ -22,14 +20,10 @@ class UsernameServiceFactory implements FactoryInterface

    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
    {
        /**
         * @var ModuleOptions $unicaenAuthModuleOptions
         */
        $unicaenAuthModuleOptions = $container->get('unicaen-auth_module_options');
        $config = $container->get('BjyAuthorize\Config');

        if (! isset($config['role_providers']['UnicaenUtilisateur\Provider\Role\Username'])) {
            throw new RuntimeException(
            throw new \InvalidArgumentException(
                'Config for "UnicaenUtilisateur\Provider\Role\Username" not set'
            );
        }
@@ -39,16 +33,6 @@ class UsernameServiceFactory implements FactoryInterface
        $authService = $container->get('zfcuser_auth_service'); /* @var $authService \Laminas\Authentication\AuthenticationService */
//        $authService = $container->get('Laminas\Authentication\AuthenticationService'); /* @var $authService \Laminas\Authentication\AuthenticationService */

        $localOptions = $unicaenAuthModuleOptions->getLocal();
        $usernameAttribute = $localOptions['ldap']['username'];
        if(!$usernameAttribute) {
            throw new RuntimeException("La clé de config [unicaen-auth][local][ldap][username] n'est pas définie.");
        }

        $service = new Username($authService, $providerConfig);
        $service->setUsernameAttribute($usernameAttribute);

        $usernamefield = $container->get('Config')['unicaen-auth']['local']['ldap']['username'];
        return new Username($authService, $providerConfig);
    }
}
 No newline at end of file