Exemplo n.º 1
0
 public function login()
 {
     $am = new AuthentificationManager();
     $error = "";
     $username = "";
     $data = [];
     //traitement du formulaire
     if (!empty($_POST)) {
         debug($_POST);
         //VALIDATION
         $username = $_POST['username'];
         $password = $_POST['password'];
         $result = $am->isValidLoginInfo($username, $password);
         //SI VALIDE : CONNEXION
         if ($result > 0) {
             //la fonction isValidLoginInfo nous a donné l'id du User
             $userId = $result;
             //Récupère l'utilisateur
             $userManager = new \Manager\UserManager();
             $user = $userManager->find($userId);
             //connecte l'user
             $am->logUserIn($user);
             //redirection
             $this->redirectToRoute('show_all_terms');
         } else {
             $error = "no";
         }
     }
     $data['error'] = $error;
     $data['username'] = $username;
     $this->show('user/login', $data);
     $this->show('user/login');
 }
Exemplo n.º 2
0
 public function registerUser()
 {
     // debug($_POST);
     $email = trim(htmlentities($_POST['email']));
     $name = trim(htmlentities($_POST['name']));
     $password = trim(htmlentities($_POST['password']));
     $confirmPassword = trim(htmlentities($_POST['confirmPassword']));
     $errors = [];
     $userManager = new UserManager();
     $userManager->setTable('users');
     if (empty($email) || filter_var($email, FILTER_VALIDATE_EMAIL) == false) {
         $errors['email'] = "Verifiez votre adresse email";
     } elseif ($userManager->emailExists($email)) {
         $errors['email'] = "Cet email existe déjà";
     }
     if ($password != $confirmPassword) {
         $errors['password'] = "******";
     } elseif (strlen($password) <= 6) {
         $errors['password'] = "******";
     }
     if (empty($errors)) {
         $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
         $date = new DateTime();
         $resultUser = $userManager->insert(['email' => $email, 'name' => $name, 'password' => $hashedPassword, 'role' => 'member', 'created_at' => $date->format('Y-m-d H:i:s'), 'updated_at' => $date->format('Y-m-d H:i:s')]);
         if ($resultUser) {
             $authentificationManager = new AuthentificationManager();
             $authentificationManager->logUserIn($resultUser);
             // print_r($_POST);
             $this->redirectToRoute('home');
         }
     } else {
         $this->show('register/index', ['errors' => $errors, 'email' => $email]);
     }
 }
Exemplo n.º 3
0
 public function logout()
 {
     // déconnexion du site
     $auth = new AuthentificationManager();
     $auth->logUserOut();
     $this->redirectToRoute('home');
 }
Exemplo n.º 4
0
 public function logoutUser()
 {
     // echo "On entre dans le LoginController-> Method logoutUser ";
     $authentificationManager = new AuthentificationManager();
     $authentificationManager->logUserOut();
     $this->redirectToRoute('home');
 }
Exemplo n.º 5
0
 public function logout()
 {
     $authentificationManager = new AuthentificationManager();
     $userManager = new UserManager();
     $authentificationManager->logUserOut($w_user);
     $this->redirectToRoute('login');
 }
Exemplo n.º 6
0
 public function logout()
 {
     // Instanciation d'un object de type AuthentificationManager
     $authentificationManager = new AuthentificationManager();
     $authentificationManager->logUserOut();
     // Redirection
     $this->redirectToRoute('home');
 }
Exemplo n.º 7
0
 public function logout()
 {
     // Instanciation d'un object de type AuthentificationManager
     $authentificationManager = new AuthentificationManager();
     $authentificationManager->logUserOut();
     // création d'un msg de déconnexion en session
     $_SESSION['message'] = "Vous avez bien été déconnecté.";
     // Redirection
     $this->redirectToRoute('home');
 }
Exemplo n.º 8
0
	/**
	 * Déconnexion
	 */
	public function logout() {
		// récupération d'un objet sécurité
		$auth = new AuthentificationManager();
		// déconnexion
		$auth->logUserOut();
		// destruction du panier
		unset($_SESSION["panier"]);
		// retour à l'accueil
		$this->redirectToRoute('home');
	}
 /**
  * Déconnexion
  */
 public function close()
 {
     // récupération d'un objet sécurité
     $auth = new AuthentificationManager();
     //déconnexion
     $auth->logUserOut();
     // Fermeture de session
     session_destroy();
     //retour à l'accueil
     $this->redirectToRoute('home');
 }
Exemplo n.º 10
0
 public function registerUser()
 {
     //debug($_POST);
     // Affecter une variable à chaque valeur clé de $_POST
     $email = trim(htmlentities($_POST['email']));
     $userName = trim(htmlentities($_POST['userName']));
     $password = trim(htmlentities($_POST['password']));
     $confirmPassword = trim(htmlentities($_POST['confirmPassword']));
     // Initialisation d'un tableau d'erreurs (associatif)
     $errors = [];
     // Instanciation d'un object de type UserManager
     $userManager = new UserManager();
     $userManager->setTable('users');
     // Bug du framework le nom de la table est mal défini
     // Check de l'email
     if (empty($email) || filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
         $errors['email'] = "Vérifiez votre adresse électronique.";
     } elseif ($userManager->emailExists($email)) {
         // Check en bdd que l'email existe
         $errors['email'] = "Cette adresse électronique existe déjà";
     }
     // Check de l'username
     if (empty($userName)) {
         $errors['userName'] = "******";
     }
     // Check du password
     if ($password != $confirmPassword) {
         $errors['password'] = "******";
     } elseif (strlen($password) <= 5) {
         $errors['passwordB'] = "Votre mot de passe doit faire au moins 6 caractères";
     }
     // S'il n'y pas d'erreurs
     if (empty($errors)) {
         // Crypter le mot de passe
         $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
         // Objet DateTime
         $date = new DateTime();
         // Enregistrement en bdd et renvoie un tableau
         $resultUser = $userManager->insert(['email' => $email, 'username' => $userName, 'password' => $hashedPassword, 'role' => 'member', 'created_at' => $date->format('Y-m-d H:i:s'), 'updated_at' => $date->format('Y-m-d H:i:s')]);
         // debug($resultUser);
         // Teste que le tableau user est rempli
         if ($resultUser) {
             // Authentifier l'utilisateur car l'inscription a réussi
             $authentificationManager = new AuthentificationManager();
             $authentificationManager->logUserIn($resultUser);
             // Redirection
             $this->redirectToRoute('home');
         }
     } else {
         $this->show('register/index', ['errors' => $errors, 'email' => $email, 'username' => $userName]);
     }
 }
Exemplo n.º 11
0
 public function registerUser()
 {
     // Affecter une variable à chaque valeur clé de $_POST
     $email = trim(htmlentities($_POST['email']));
     $password = trim(htmlentities($_POST['password']));
     $passwordConfirm = trim(htmlentities($_POST['passwordConfirm']));
     // Initialisation d'un tableau d'erreurs
     $errors = [];
     // Instanciation d'un object de type UserManager
     $userManager = new UserManager();
     $userManager->setTable('users');
     // Bug du framework le nom de la table est mal défini
     // Check de l'email
     if (empty($email) || filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
         $errors['email'] = "Vérifiez votre adresse e-mail.";
     } elseif ($userManager->emailExists($email)) {
         // Check en bdd que l'email existe
         $errors['email'] = "Cette adresse e-mail existe déjà";
     }
     // Check du password
     if ($password != $passwordConfirm) {
         $errors['password'] = "******";
     } elseif (strlen($password) <= 6) {
         $errors['password'] = "******";
     }
     // S'il n'y pas d'erreurs
     if (empty($errors)) {
         // Crypter le mot de passe
         $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
         // Objet DateTime
         $date = new DateTime();
         // Enregistrement en bdd et renvoie un tableau
         $resultUser = $userManager->insert(['email' => $email, 'password' => $hashedPassword, 'role' => 'member']);
         // debug($resultUser);
         // Teste que le tableau user est rempli
         if ($resultUser) {
             // Authentifier l'utilisateur car l'inscription a réussi
             $authentificationManager = new AuthentificationManager();
             $authentificationManager->logUserIn($resultUser);
             // Redirection
             $this->redirectToRoute('login');
         }
     } else {
         $this->show('register/index', ['errors' => $errors, 'email' => $email]);
     }
 }
Exemplo n.º 12
0
 /**
  * Vérifie les droits d'accès de l'utilisateur en fonction de son rôle
  * @param  string  $role Le rôle pour lequel on souhaite vérifier les droits d'accès
  * @return boolean       True si droit d'accès, false sinon
  */
 public function isGranted($role)
 {
     $app = getApp();
     $roleProperty = $app->getConfig('security_role_property');
     //récupère les données en session sur l'utilisateur
     $authentificationManager = new AuthentificationManager();
     $loggedUser = $authentificationManager->getLoggedUser();
     //si utilisateur non connecté
     if (!$loggedUser) {
         //redirige vers le login
         $this->redirectToLogin();
     }
     if (!empty($loggedUser[$roleProperty]) && $loggedUser[$roleProperty] === $role) {
         return true;
     }
     return false;
 }
Exemplo n.º 13
0
 public function editPassword()
 {
     $this->lock();
     $authentificationManager = new AuthentificationManager();
     $userManager = new UserManager();
     $old_passwordError = "";
     $passwordError = "";
     if (!empty($_POST)) {
         foreach ($_POST as $k => $v) {
             ${$k} = trim(strip_tags($v));
         }
         // On s'assure que l'ancien mot de passe est valide
         $result = $authentificationManager->isValidLoginInfo($_SESSION['user']['username'], $old_password);
         // Si c'est valide,
         if ($result > 0) {
             // On vérifie que les nouveaux mots de passe sont bien identiques
             if ($password != $confirmPassword) {
                 $passwordError = "le mot de passe ne correspond pas !";
             }
             // On hache le nouveau mot de passe
             $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
             if ($userManager->update(['password' => $hashedPassword], $_SESSION['user']['id'])) {
                 $refreshUser = $userManager->find($_SESSION['user']['id']);
                 $_SESSION['user'] = $refreshUser;
             }
         } else {
             $old_passwordError = "Mauvais mot de passe !";
         }
     }
     $data = ['old_passwordError' => $old_passwordError, 'passwordError' => $passwordError];
     $this->show('user/edit_password', $data);
 }
Exemplo n.º 14
0
 /**
  * Récupère l'utilisateur actuellement connecté
  */
 public function getUser()
 {
     $authenticationManager = new AuthentificationManager();
     $user = $authenticationManager->getLoggedUser();
     return $user;
 }
Exemplo n.º 15
0
 public function logout()
 {
     $manager2 = new ProfilManager();
     $manager2->userIsOffline($_SESSION['user']['id']);
     $auth = new AuthentificationManager();
     $auth->logUserOut();
     $this->redirectToRoute('home');
 }
Exemplo n.º 16
0
 public function logout()
 {
     $am = new AuthentificationManager();
     $am->logUserOut();
     $this->redirectToRoute('home');
 }
Exemplo n.º 17
0
 public function logout()
 {
     if (isset($_POST)) {
         $auth = new AuthentificationManager();
         $auth->logUserOut();
         // fonction définie dans W/Security/AuthentificationManager.php ligne 52
         $this->redirectToRoute('home');
     }
 }