示例#1
0
 public function loginUser()
 {
     // Affecter une variable à chaque valeur clé de $_POST
     $email = trim(htmlentities($_POST['email']));
     $password = trim(htmlentities($_POST['password']));
     // 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
     $resultUser = $userManager->getUserByUsernameOrEmail($email);
     if ($resultUser) {
         // Instanciation d'un object de type AuthentificationManager
         $authentificationManager = new AuthentificationManager();
         // Cette méthode teste si le mot de passe est valide, $password ici est en clair
         if ($authentificationManager->isValidLoginInfo($email, $password)) {
             $authentificationManager->logUserIn($resultUser);
             // Redirection
             $this->redirectToRoute('seekrun');
         } else {
             $errors['login'] = "******";
         }
     } else {
         $errors['login'] = "******";
     }
     $this->show('run/seekrun', ['errors' => $errors]);
 }
 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');
 }
示例#3
0
 public function login()
 {
     $authentificationManager = new AuthentificationManager();
     $username = "";
     $password = "";
     $error = "";
     $data = [];
     if (!empty($_POST)) {
         $username = $_POST['username'];
         $password = $_POST['password'];
         $result = $authentificationManager->isValidLoginInfo($username, $password);
         if ($result > 0) {
             $userId = $result;
             //recupere l'utilisateur
             $userManager = new \Manager\UserManager();
             $user = $userManager->find($userId);
             //connecte l'user
             $authentificationManager->logUserIn($user);
             $this->redirectToRoute('show_all_terms');
         } else {
             $error = "Mauvais identifiant !";
         }
     }
     $data['error'] = $error;
     $data['username'] = $username;
     $this->show('users/login', $data);
 }
示例#4
0
 public function login()
 {
     // connexion au site
     if (isset($_SESSION['user'])) {
         $this->redirectToRoute('accueil');
         // si ok envoie page 2
     }
     if (isset($_POST['connexion'])) {
         $auth = new AuthentificationManager();
         $userManager = new UserManager();
         $UserManagerSuite = new GeneralManager();
         //debug($userManager); die; // vérification
         if ($auth->isValidLoginInfo($_POST['wuser']['mail'], $_POST['wuser']['mot_de_passe'])) {
             //selection table user
             $user_part1 = $userManager->getUserByUsernameOrEmail($_POST['wuser']['mail']);
             //recuperation de l'id de l'utilisateur connecté et jointure avec les autres tables.
             $id_user = $user_part1['id'];
             if ($user_part1['validation_inscription'] === 'true') {
                 $user_part2 = $UserManagerSuite->findAllLogUser($id_user);
                 $user = array_merge($user_part1, $user_part2);
                 // ajout de $user2 dans $user
                 $auth->logUserIn($user);
                 //debug($_SESSION['user']);die(); // vérification
                 $this->redirectToRoute('accueil');
             } else {
                 $this->show('home/home');
             }
         }
     }
     $this->show('home/home');
 }
示例#5
0
 public function login_admin()
 {
     $am = new AuthentificationManager();
     $error = "";
     $username = "";
     $data = [];
     if (!empty($_POST)) {
         //Validation
         $username = $_POST['username'];
         $password = $_POST['password'];
         $result = $am->isValidLoginInfo($username, $password);
         //Si valide : connexion
         if ($result > 0) {
             $adminId = $result;
             //trouve administrateur
             $userManager = new \Manager\userManager();
             $admin = $userManager->find($adminId);
             //connecte l'user
             $am->logUserIn($admin);
             //redirection
             $this->redirectToRoute('control_admin');
         } else {
             $error = "Mauvais identifiants !";
         }
     }
     $data['error'] = $error;
     $data['username'] = $username;
     $this->show('admin/login_admin', $data);
 }
示例#6
0
 public function login()
 {
     if (!empty($_POST)) {
         if (!empty($_POST["pseudo"]) && !empty($_POST["password"])) {
             $username = filter_var($_POST['pseudo'], FILTER_SANITIZE_STRING);
             $password = filter_var($_POST['password'], FILTER_SANITIZE_STRING);
             $userManager = new UserManager();
             // pour que l'on accède aux méthodes de W/Controller/Controller.php
             $user = $userManager->getUserByUsernameOrEmail($_POST["pseudo"]);
             // si les informations saisies sont valides pour mon user
             $auth = new AuthentificationManager();
             $reponse = ["res" => 0, "errors" => "", "url" => $this->generateUrl("toeteam")];
             if ($auth->isValidLoginInfo($_POST["pseudo"], $_POST["password"])) {
                 // login
                 /*$this->redirectToRoute('toeteam');*/
                 $reponse["res"] = 1;
                 // il n'y a pas d'erreur
                 $auth->logUserIn($user);
                 // fonction définie dans W/Security/AuthentificationManager.php ligne 40
             } else {
                 $reponse["res"] = 0;
                 // afficher le message d'erreur si pseudo et/ou de mot de passe inexistant (s'inspirer du AJAX de signup)
                 $reponse["errors"] = "Connexion impossible";
             }
             $this->showJson($reponse);
             // renvoyer la réponse JSON
             // si login a lieu => redirection vers la page toeteam
         }
     }
     //$this->show('user/login',['title'=>"Loggez vous"]);
 }
示例#7
0
 public function login()
 {
     if (isset($_POST['create'])) {
         $auth = new AuthentificationManager();
         $userManager = new UserManager();
         if ($auth->isValidLoginInfo($_POST['myform']['username'], $_POST['myform']['password'])) {
             $user = $userManager->getUserByUsernameOrEmail($_POST['myform']['username']);
             $auth->logUserIn($user);
             $this->redirectToRoute('home');
         }
     }
     $this->show('default/login');
 }
示例#8
0
	/**
	 * Authentification
	 */
	public function auth() {
		// récupération d'un objet sécurité
		$auth = new AuthentificationManager();
		// vérification login/password
		if ($auth->isValidLoginInfo(htmlentities($_POST['email']),
									htmlentities($_POST['password'])
									)
			) 
        {
			// récupération d'un objet utilisateur
			$user = new UserManager;

			// récupération des infos de l'utilisateur en cours
			$util = $user->getUserByUsernameOrEmail(htmlentities($_POST['email']));
			// connexion de l'utilisateur
			$auth->logUserIn($util);

			// SESSION
			// appel du modèle ClientManager
			$client = new \Manager\ClientManager();
			$allClient = $client->utilisateurClient();

			$_SESSION['user']['idClient'] = $allClient['id'];
			$_SESSION['user']['nom'] = $allClient['nomClient'];
			$_SESSION['user']['prenom'] = $allClient['prenomClient'];
			$_SESSION['user']['adresse'] = $allClient['adresseClient'];
			$_SESSION['user']['cp'] = $allClient['cpClient'];
			$_SESSION['user']['ville'] = $allClient['villeClient'];
			$_SESSION['user']['tel'] = $allClient['telClient'];

			//redirection vers une page privée
			
			$this->redirectToRoute('prive');

			
		} else {
			// si non valide retour au formulaire
			$this->redirectToRoute('home');
		}
	}
 /**
  * Authentification
  */
 public function checkLogin()
 {
     // récupération d'un objet sécurité
     $auth = new AuthentificationManager();
     // récupération d'un objet utilisateur
     $user = new UserManager();
     // récupération des infos de l'utilisateur en cours
     $util = $user->getUserByUsernameOrEmail(htmlentities($_POST['username']));
     // vérification login/password
     if ($auth->isValidLoginInfo(htmlentities($_POST['username']), htmlentities($_POST["password"]))) {
         // connexion de l'utilisateur
         $auth->logUserIn($util);
         //redirection vers une page privée (ou admin, en fonction des privilèges)
         if ($_SESSION["user"]["role"] == "Administrateur") {
             $this->redirectToRoute('admin');
         } else {
             $this->close();
             $this->redirectToRoute('home');
         }
     } else {
         $this->redirectToRoute('home');
     }
 }
示例#10
0
 public function loginUser()
 {
     $email = trim(htmlentities($_POST['email']));
     $password = trim(htmlentities($_POST['password']));
     $errors = [];
     $userManager = new UserManager();
     $userManager->setTable('users');
     $resultUser = $userManager->getUserByUsernameOrEmail($email);
     // debug($resultUser);
     // die();
     if ($resultUser) {
         $authentificationManager = new AuthentificationManager();
         if ($authentificationManager->isValidLoginInfo($email, $password)) {
             $authentificationManager->logUserIn($resultUser);
             $this->redirectToRoute('home');
         } else {
             $errors['login'] = "******";
         }
     } else {
         $errors['login'] = "******";
     }
     $this->show('login/index', ['errors' => $errors]);
 }
示例#11
0
 public function login()
 {
     $authentificationManager = new AuthentificationManager();
     $userManager = new UserManager();
     $username = "";
     $password = "";
     $usernameError = "";
     $passwordError = "";
     if (!empty($_POST)) {
         foreach ($_POST as $k => $v) {
             ${$k} = trim(strip_tags($v));
         }
         // Validation des données
         if (empty($username)) {
             $usernameError = "Veuillez indiquer un pseudo !";
         }
         if (empty($password)) {
             $passwordError = "Veuillez entrer un mot de passe !";
         }
         if ($usernameError == "" && $passwordError == "") {
             $id = $authentificationManager->isValidLoginInfo($username, $password);
             if ($id) {
                 // Récupération des infos de l'utilisateur
                 $user = $userManager->find($id);
                 // Attribution des infos de l'utilisateur à la session
                 $authentificationManager->logUserIn($user);
                 $this->redirectToRoute('show_all_terms');
             } else {
                 $usernameError = "Mauvais identifiants !";
             }
         }
         $dataToPassToTheView = ['username' => $username, 'usernameError' => $usernameError, 'passwordError' => $passwordError];
         $this->show('user/login', $dataToPassToTheView);
     }
     $this->show('user/login');
 }
示例#12
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);
 }
示例#13
0
 public function login()
 {
     $flagl = 0;
     $manager2 = new ProfilManager();
     if (isset($_POST['loginform'])) {
         $auth = new AuthentificationManager();
         $userManager = new UserManager();
         if ($auth->isValidLoginInfo($_POST['myform']['mail'], $_POST['myform']['mdp'])) {
             $user = $userManager->getUserByUsernameOrEmail($_POST['myform']['mail']);
             $result = $auth->logUserIn($user);
             $flagl = 1;
             $manager2->userIsOnline($user['id']);
             $this->redirectToRoute('home', ['flagl' => $flagl]);
         } else {
             $error = 'Connexion impossible.';
             $this->show('default/home', ['error' => $error]);
         }
     }
     $this->show('default/home', ['flag' => $flag]);
 }
示例#14
0
 public function login()
 {
     $am = new AuthentificationManager();
     $error = "";
     $username = "";
     if (!empty($_POST)) {
         //validation
         $password = $_POST['password'];
         $username = $_POST['username'];
         $result = $am->isValidLoginInfo($username, $password);
         //si valide : connexion
         if ($result > 0) {
             $userId = $result;
             //récupère l'utilisateur
             $userManager = new \Manager\UserManager();
             $user = $userManager->find($userId);
             //connecte l'user
             $am->LogUserIn($user);
             //redirection
             $this->redirectToRoute('catalogue');
         } else {
             $error = "Mauvais Identifiants !";
         }
     }
     $data = [];
     //$data['error'] = $error;
     $data['username'] = $username;
     // Afficher la page
     $this->show('user/login', ['error' => $error]);
 }