LdapBundle
LdapBundle copied to clipboard
POST_BIND event
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);
}