private function findUnit(Identity $identity) { if (null === $this->unit) { $filter = Filter::equals('mail', $identity->mail); $baseDn = Dn::factory($this->ldap->getBaseDn())->prepend(['ou' => 'people']); $result = $this->ldap->search($filter, $baseDn, Ldap::SEARCH_SCOPE_ONE, ['l']); if (1 !== $result->count()) { return; } $result = $result->current(); $unitDn = $result['l'][0]; $this->unit = $this->ldap->getNode($unitDn); } return $this->unit; }