authentifier($message_accueil, $message_echec, 'Admin'); } private function authentifier($message_accueil, $message_echec, $type) { $id = $this->getAuthIdentifiant(); if (!isset($id)) { $this->envoyerAuth($message_accueil, $message_echec); } else { $methodeAutorisation = "etre{$type}Autorise"; $autorisation = $this->$methodeAutorisation(); if ($autorisation == false) { $this->envoyerAuth($message_accueil, $message_echec); } } return true; } public function etreUtilisateurAutorise() { $identifiant = $this->getAuthIdentifiant(); $mdp = md5($this->getAuthMotDePasse()); $requete = 'SELECT COUNT(*) as existe FROM drupal_users du '. 'WHERE name = '.$this->proteger($identifiant).' '. 'AND pass = '.$this->proteger($mdp); $existe = $this->executerRequete($requete); $autorisation = (!empty($existe) && $existe['existe'] > 0) ? true :false; return $autorisation; } public function etreAdminAutorise() { $identifiant = $this->getAuthIdentifiant(); $mdp = md5($this->getAuthMotDePasse()); $requete = 'SELECT COUNT(*) as existe FROM drupal_users du '. 'INNER JOIN drupal_users_roles dur '. 'ON du.uid = dur.uid '. 'WHERE name = '.$this->proteger($identifiant).' '. 'AND pass = '.$this->proteger($mdp).' '. 'AND rid = 3 '; $existe = $this->executerRequete($requete); $autorisation = (!empty($existe) && $existe[0]['existe'] > 0) ? true :false; return $autorisation; } public function controleAppelIpAutorisee() { $ips_autorisees = explode(',', $this->config['jrest_admin']['ip_autorisees']); $ip_appelante = $_SERVER['REMOTE_ADDR']; if(!in_array($ip_appelante, $ips_autorisees) && $ip_appelante != $_SERVER['SERVER_ADDR']) { $this->envoyerMessageNonAutorise(); } return true; } } ?>