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<?php
exit('No direct script access allowed'); }
class Logueado_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
if(!$this->usuarios_model->userIsLoggedIn()){
redirect(site_url("login"));
}
}
}
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 originalclass Home_Controller extends CI_Controller
quedaría:
Código PHP:
Ver originalclass 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