Comprobación antes de mostrar la página?

38 views
Skip to first unread message

Eduardo R Pérez Téllez

unread,
Apr 5, 2013, 9:48:28 AM4/5/13
to codeignit...@googlegroups.com
Saludos Colegas, quisiera me explicaran cómo realizar una comprobación del sitio web antes de mostrar la vista.
 
En resumen, tengo un sitio web que se está programando con Codeigniter y Boostraps y quisiera que antes de mostrar "cualquier" página compruebe que el sitio esté Online y que el usuario tenga privilegios para acceder a ella. Imaginé hacerlo en cada controlador, pero creo que deba existir una solución más práctica que copiar el mismo código en todos los controladores, para evitar errores si modificamos uno y otro no. Utilizo la biblioteca Ion_Auth para la autentificación de usuarios.
 
Gracias de antemano....
 
Lic. Eduardo R. Pérez Téllez

Jorge Paredes Pérez

unread,
Apr 5, 2013, 11:09:23 AM4/5/13
to codeignit...@googlegroups.com


___

 Jorge Paredes
 Diseño y Programación Web
 Fotografía
 677 27 13 92

     
  


         




--
De-suscripción: codeigniter-spa...@googlegroups.com
Antes de responder revisa: http://es.wikipedia.org/wiki/Netiquette
Regístrate en el Censo CI: http://bit.ly/miembroscodeigniteres
---
Has recibido este mensaje porque estás suscrito al grupo "CodeIgniter-spanish" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a codeigniter-spa...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

Carlos Mora

unread,
Apr 9, 2013, 10:46:24 AM4/9/13
to codeigniter-spanish
La respuesta de Jorge es buena, aunque yo no controlo hooks muy bien. Te cuento como lo tengo armado yo. Tengo un sitio con tres roles: user, supervisor, y admin.

Cada controlador requiere un nivel diferente, por lo que creé diferentes Controllers para cada rol

class Base_Controller extends CI_Controller {
    public function __construct()
    {
        parent::__construct();
        sitio_online() || redirect('url_del_sitio_offline');
    }

class User_Controller extends Base_Controller {
    public function __construct()
    {
        parent::__construct();
        This->auth->isloggedin() || redirect('url_de_login');
    }
class Supervisor_Controller extends User_Controller {
    public function __construct()
    {
        parent::__construct();
        This->auth->isSupervisor() || redirect('url_no_permitido');
    }
class Admin_Controller extends Supervisor_Controller {
    public function __construct()
    {
        parent::__construct();
        This->auth->isAdmin() || redirect('url_no_permitido');
    }

----
Luego creas tus controllers a partir de la clase apropiada.


El 5 de abril de 2013 15:48, Eduardo R Pérez Téllez <erpt...@gmail.com> escribió:

miguel Vizcaino

unread,
Apr 9, 2013, 12:36:27 PM4/9/13
to codeignit...@googlegroups.com
por que usas diferentes controladores si en uno solo se puede... ?  llamas al contolador  y a la funcion de login  

si tienes un contolador login ,  a su vez las funciones admin supervisor  user ,  llamas a cierta funcion para verificar  en el contolador login 

J. Manuel Velasco

unread,
Apr 9, 2013, 2:20:00 PM4/9/13
to codeignit...@googlegroups.com
una curiosidad ..


        This->auth->isloggedin() || redirect('url_de_login');

y similares, es un typo o que onda ?¿ si fuera algo como This::auth, aún me planteaba pero eso me ha sorprendido, no sé si es que CI tiene algo por ahi que permite eso ... `:-/

El 09/04/13 18:36, miguel Vizcaino escribió:

marcelo gutierrez

unread,
Apr 9, 2013, 5:57:08 PM4/9/13
to codeignit...@googlegroups.com
Manuel... la idea de Carlos es que la clase controller que verifica el estado del usr logueado lo tenes que hacer en cada vista (o diria controlador =D) que tenga acceso restringido.

Saludos
Marcelo Gutierrez

Carlos Mora

unread,
Apr 10, 2013, 6:09:51 AM4/10/13
to codeigniter-spanish
Cuando voy a escribir un controlador restringido a un cierto nivel, heredo del controller apropiado y ya está, no tienes que hacer más. Tal ves si escribieses un poquito de codigo ayudaría a entender tu punto de vista.

Carlos Mora

unread,
Apr 10, 2013, 6:11:26 AM4/10/13
to codeigniter-spanish
Je, se me pasó, es $this obviamente :)

Pero bueno, como dicen por ahí, si encuentras un error te lo puedes quedar.

Un saludo.

J. Manuel Velasco

unread,
Apr 10, 2013, 4:11:49 PM4/10/13
to codeignit...@googlegroups.com
El 10/04/13 12:11, Carlos Mora escribió:
Je, se me pasó, es $this obviamente :)

Pero bueno, como dicen por ahí, si encuentras un error te lo puedes quedar.

jajaja, no gracias ... all for you :)
Reply all
Reply to author
Forward
0 new messages