LdapBundle icon indicating copy to clipboard operation
LdapBundle copied to clipboard

POST_BIND event

Open BorisMorel opened this issue 11 years ago • 0 comments

I reference of #77

Post bind event is refactoring. Now it's possible to used Ldap to manage Auth, and with post bind reauthenticate your user with a locale DB.

use IMAG\FrontEtherpadBundle\Entity\LdapUser;

public function onPostBind(LdapUserEvent $event)
{
    $user = $event->getUser();

    if (false === $ldapUser = $this->userExists($user->getDn())) {
        $ldapUser = new LdapUser();
        $unit = new Unit();
        $unit->setName($user->getEmail());
        $ldapUser->addUnit($unit);
    }

    $ldapUser
        ->setDn($user->getDn())
        ->setEmail($user->getEmail())
        ->setRoles($user->getRoles())
        ;

    $this->em->persist($ldapUser);
    $this->em->flush();

    $event->setUser($ldapUser);
}

BorisMorel avatar Feb 03 '14 15:02 BorisMorel