Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/11/2017, 12:19
chivacker
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 59
Antigüedad: 10 años, 6 meses
Puntos: 6
Respuesta: redirigir index

Hola elsolodigno,
Por pasos:
- Primero tienes que crear dentro de la carpeta /application/core/ un archivo llamado MY_Controller.php
- En ese archivo tienes que crear al menos una clase que sea llame, por ejemplo, Logueado_Controller o como quieras llamarla pero que extienda de CI_Controller
- Dentro de esa clase necesitas un método __construct que tenga dentro un parent::__construct(); y después compruebe (a través del modelo que tengas) si hay un usuario logueado. Si no lo hay redireccionarlo al login.

Quedaría algo así:
/application/core/MY_Controller.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. if (!defined('BASEPATH')) {
  4.     exit('No direct script access allowed');
  5. }
  6.  
  7. class Logueado_Controller extends CI_Controller {
  8.     public function __construct() {
  9.         parent::__construct();
  10.         if(!$this->usuarios_model->userIsLoggedIn()){
  11.             redirect(site_url("login"));
  12.         }
  13.     }
  14. }
Por último lo que tienes que hacer es que cualquier controlador en el que quieras esta funcionalidad extienda de esta clase. Por ejemplo en lugar de:
Código PHP:
Ver original
  1. class Home_Controller extends CI_Controller
quedaría:
Código PHP:
Ver original
  1. class Home_Controller extends Logueado_Controller

Con eso ya lo tienes centralizado y puedes añadir más lógica dentro de estos controladores específicos.

Cualquier cosa me comentas,
Un abrazo