public function test_getUser_UsesCorrectLDAPFilterAndBaseDn()
 {
     $usedBaseDn = null;
     $usedFilter = null;
     $filterBind = null;
     $mockLdapClient = $this->makeMockLdapClient();
     $mockLdapClient->expects($this->any())->method('bind')->will($this->returnValue(true));
     $mockLdapClient->expects($this->any())->method('fetchAll')->will($this->returnCallback(function ($baseDn, $filter, $bind) use(&$usedBaseDn, &$usedFilter, &$filterBind) {
         $usedBaseDn = $baseDn;
         $usedFilter = $filter;
         $filterBind = $bind;
         return array(array('uid' => LdapUsersTest::TEST_USER));
     }));
     $this->ldapUsers->setLdapClientClass($mockLdapClient);
     $this->setSingleLdapServer();
     $this->ldapUsers->setAuthenticationLdapFilter(self::TEST_EXTRA_FILTER);
     $this->ldapUsers->setAuthenticationRequiredMemberOf(self::TEST_MEMBER_OF);
     $this->ldapUsers->setAuthenticationMemberOfField(self::TEST_MEMBER_OF_Field);
     $this->ldapUsers->getUser(self::TEST_USER);
     $this->assertEquals(self::TEST_BASE_DN, $usedBaseDn);
     $this->assertContains(self::TEST_EXTRA_FILTER, $usedFilter);
     $this->assertContains("(" . self::TEST_MEMBER_OF_Field . "=?)", $usedFilter);
     $this->assertContains(self::TEST_MEMBER_OF, $filterBind);
 }
Esempio n. 2
0
 /**
  * Creates a new {@link LdapUsers} instance using config.ini.php values.
  *
  * @return LdapUsers
  */
 public static function makeConfigured()
 {
     $result = new LdapUsers();
     $result->setLdapServers(Config::getConfiguredLdapServers());
     $usernameSuffix = Config::getLdapUserEmailSuffix();
     if (!empty($usernameSuffix)) {
         $result->setAuthenticationUsernameSuffix($usernameSuffix);
     }
     $requiredMemberOf = Config::getRequiredMemberOf();
     if (!empty($requiredMemberOf)) {
         $result->setAuthenticationRequiredMemberOf($requiredMemberOf);
     }
     $memberOfField = Config::getRequiredMemberOfField();
     if (!empty($memberOfField)) {
         $result->setAuthenticationMemberOfField($memberOfField);
     }
     $filter = Config::getLdapUserFilter();
     if (!empty($filter)) {
         $result->setAuthenticationLdapFilter($filter);
     }
     $timeoutSecs = Config::getLdapNetworkTimeout();
     if (!empty($timeoutSecs)) {
         $result->setLdapNetworkTimeout($timeoutSecs);
     }
     $result->setLdapUserMapper(UserMapper::makeConfigured());
     Log::debug("LdapUsers::%s: configuring with userEmailSuffix = %s, requiredMemberOf = %s, filter = %s, timeoutSecs = %s", __FUNCTION__, $usernameSuffix, $requiredMemberOf, $filter, $timeoutSecs);
     return $result;
 }
 /**
  * Creates a new {@link LdapUsers} instance using config.ini.php values.
  *
  * @return LdapUsers
  */
 public static function makeConfigured()
 {
     $result = new LdapUsers();
     $result->setLdapServers(Config::getConfiguredLdapServers());
     $usernameSuffix = Config::getLdapUserEmailSuffix();
     if (!empty($usernameSuffix)) {
         $result->setAuthenticationUsernameSuffix($usernameSuffix);
     }
     $requiredMemberOf = Config::getRequiredMemberOf();
     if (!empty($requiredMemberOf)) {
         $result->setAuthenticationRequiredMemberOf($requiredMemberOf);
     }
     $memberOfField = Config::getRequiredMemberOfField();
     if (!empty($memberOfField)) {
         $result->setAuthenticationMemberOfField($memberOfField);
     }
     $filter = Config::getLdapUserFilter();
     if (!empty($filter)) {
         $result->setAuthenticationLdapFilter($filter);
     }
     $timeoutSecs = Config::getLdapNetworkTimeout();
     if (!empty($timeoutSecs)) {
         $result->setLdapNetworkTimeout($timeoutSecs);
     }
     $result->setLdapUserMapper(UserMapper::makeConfigured());
     return $result;
 }