/** * (non-PHPdoc) * @see common_user_auth_Adapter::authenticate() */ public function authenticate() { $service = new AuthKeyValueUserService(); $userData = $service->getUserData($this->username); $hashing = core_kernel_users_Service::getPasswordHash(); if (isset($userData[PROPERTY_USER_PASSWORD]) && $hashing->verify($this->password, $userData[PROPERTY_USER_PASSWORD])) { // user is authentified, create the user for the session $params = json_decode($userData[AuthKeyValueUserService::USER_PARAMETERS], true); $user = new AuthKeyValueUser(); $user->setConfiguration($this->getOptions()); $user->setIdentifier($params['uri']); $user->setLanguageUi($params[PROPERTY_USER_UILG]); $user->setLanguageDefLg($params[PROPERTY_USER_DEFLG]); $user->setUserRawParameters($params); return $user; } else { throw new core_kernel_users_InvalidLoginException('User "' . $this->username . '" failed key-value authentication.'); } }
$row = 1; if (($handle = fopen($csvfile, "r")) !== false) { while (($data = fgetcsv($handle, 1000, ";")) !== false) { if ($row === 1) { // if (json_encode($data) != json_encode(array_keys($expected))) { // echo 'Expected data in the format "'.implode('","', $expected).'".'.PHP_EOL; // die(1); // } } else { $toAdd = array(GroupsService::PROPERTY_MEMBERS_URI => array($groupUri)); foreach ($data as $pos => $value) { $toAdd[$expected[$keys[$pos]]] = $value; } // encode password $toAdd[PROPERTY_USER_PASSWORD] = core_kernel_users_Service::getPasswordHash()->encrypt($toAdd[PROPERTY_USER_PASSWORD]); if ($userService->getUserData($toAdd[PROPERTY_USER_LOGIN]) != false) { echo 'User "' . $toAdd[PROPERTY_USER_LOGIN] . '" already exists.' . PHP_EOL; } else { $userData = DataGeneration::createUser($toAdd, $lang); try { $persistence->insert('redis', array('subject' => $userData['uri'], 'predicate' => PROPERTY_USER_LOGIN, 'object' => $userData[PROPERTY_USER_LOGIN])); } catch (PDOException $e) { echo 'please make sure that called redis exists with subject,predicate,object' . "\n"; echo 'insert as first line : ' . $userData['uri'] . " , " . PROPERTY_USER_LOGIN . " , " . $userData[PROPERTY_USER_LOGIN]; die(1); } } } $row++; } fclose($handle);
/** * Function that will refresh the parameters. */ public function refresh() { $this->setUserExtraParameters(null); $service = new AuthKeyValueUserService(); $userData = $service->getUserData($this->getPropertyValues(PROPERTY_USER_LOGIN)); $params = json_decode($userData[AuthKeyValueUserService::USER_PARAMETERS], true); $this->setUserRawParameters($params); }