public function test_authenticate_AddsUsernameSuffix_IfOneIsConfigured()
 {
     $adminUserName = null;
     $userName = null;
     $filterUsed = null;
     $filterBind = null;
     $mockLdapClient = $this->makeMockLdapClient();
     $mockLdapClient->expects($this->any())->method('bind')->will($this->returnCallback(function ($bindResource) use(&$adminUserName, &$userName) {
         static $i = 0;
         if ($i == 0) {
             $adminUserName = $bindResource;
         } else {
             $userName = $bindResource;
         }
         ++$i;
         return true;
     }));
     $mockLdapClient->expects($this->any())->method('fetchAll')->will($this->returnCallback(function ($baseDn, $filter, $bind) use(&$filterUsed, &$filterBind) {
         $filterUsed = $filter;
         $filterBind = $bind;
         return array(array('uid' => LdapUsersTest::TEST_USER, 'dn' => 'thedn'));
     }));
     $this->ldapUsers->setLdapClientClass($mockLdapClient);
     $this->setSingleLdapServer();
     $this->ldapUsers->setAuthenticationUsernameSuffix('whoa');
     $this->ldapUsers->authenticate(self::TEST_USER, self::PASSWORD);
     $this->assertEquals(self::TEST_ADMIN_USER, $adminUserName);
     $this->assertEquals('thedn', $userName);
     $this->assertContains("uid=?", $filterUsed);
     $this->assertEquals(array(self::TEST_USER . 'whoa'), $filterBind);
 }
Ejemplo 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;
 }
Ejemplo n.º 3
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());
     return $result;
 }