示例#1
0
文件: Auth.php 项目: khru/MVC-oferta
 public static function checkAutentication()
 {
     // No es necesario la inicialización de la sesión pero es una comprobación más
     Session::init();
     if (!Session::comprobarSession()) {
         Session::destroy();
         Session::init();
         Session::set('origen', $_SERVER['REQUEST_URI']);
         header('location: /Login');
         exit;
     }
 }
示例#2
0
 /**
  * Método que realiza la lógica del login
  * @param  Array $datos Datos necesarios para poder realizar el login
  * @return Bollean   True = cuando se realiza el login sin problemas, False = cuando hay errores
  */
 public static function dologin($datos)
 {
     /**
      * Comprobamos que hay datos
      */
     if (!$datos) {
         // Sino hay datos damos un error
         Session::add('feedback_negative', 'No tengo los datos de Login');
         return false;
     } elseif (LoginModel::validar($datos)) {
         // hacemos la logica del login
         // primero saneamos el array con los datos
         $datos = validaciones::sanearEntrada($datos);
         $conn = Database::getInstance()->getDatabase();
         $ssql = "SELECT  id, nombre, email, pass FROM usuario WHERE email=:email";
         $query = $conn->prepare($ssql);
         $query->bindValue(':email', $datos['email'], PDO::PARAM_STR);
         $query->execute();
         $count = $query->rowCount();
         if (!Database::comprobarConsulta($count)) {
             Session::add('feedback_negative', 'No estás registrado');
             return false;
         }
         $usuario = $query->fetch();
         if ($usuario['pass'] != sha1($datos['clave'])) {
             Session::add('feedback_negative', 'La clave no coincide');
             return false;
         }
         // Iniciamos la sesión
         Session::set('user_id', $usuario['id']);
         Session::set('user_name', $usuario['nombre']);
         Session::set('user_email', $datos['email']);
         Session::set('user_logged_in', true);
         Session::add('feedback_positive', 'Sesión iniciada');
         // comprobamos que la sesión se esta formando adecuadamente
         if (Session::comprobarSession()) {
             return true;
         } else {
             Session::add('feedback_negative', 'Error iniciando sesión, intentelo más tarde.');
         }
     } else {
         // sin no se validan los campos correctamente devolvemos un false
         // y el reportamos los errores
         return false;
     }
 }
示例#3
0
 /**
  * Método de inserción del usuario en la DB
  * @param  Array $array Datos a insertar
  * @return Boolean      true = si se inserta, false = sino se inserta
  */
 public static function insert($array)
 {
     // creamos la consulta
     $ssql = 'INSERT INTO usuario (nombre, apellido, email, pass) VALUES (:nombre, :apellido, :email, :pass)';
     // las insertamos y se inserta generamos la sesión
     if (Database::consulta($ssql, $array, $estado = 3)) {
         $id = $_POST['last_id'];
         Session::set('user_id', $id);
         Session::set('user_name', $array[':nombre']);
         Session::set('user_email', $array[':email']);
         Session::set('user_logged_in', true);
         // comprobamos que la sesión se ha iniciado correctamente
         if (Session::comprobarSession()) {
             Session::add('feedback_positive', 'Cuenta creada correctamente');
             return true;
         }
         Session::add('feedback_negative', 'Ha ocurrido un error al iniciar sesión, intentelo de nuevo más tarde');
         return false;
     } else {
         Session::add('feedback_negative', 'La cuenta no ha sido creada correctamente');
         return false;
     }
 }