/** * (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.'); } }
$tableResults = $schema->createtable('redis'); $tableResults->addOption('engine', 'MyISAM'); $tableResults->addColumn('subject', 'string', ['length' => 255]); $tableResults->addColumn('predicate', 'string', ['length' => 255]); $tableResults->addColumn('object', 'string', ['length' => 255]); $queries = $persistence->getPlatform()->getMigrateSchemaSql($fromSchema, $schema); foreach ($queries as $query) { $persistence->exec($query); } } } catch (\Doctrine\DBAL\Schema\SchemaException $e) { \common_Logger::i('Database Schema already up to date.'); } $expected = array('login' => PROPERTY_USER_LOGIN, 'password' => PROPERTY_USER_PASSWORD); $keys = array_keys($expected); $userService = new AuthKeyValueUserService(); $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]);
/** * 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); }