コード例 #1
0
 /**
  * (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.');
     }
 }
コード例 #2
0
        $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]);
コード例 #3
0
 /**
  * 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);
 }