Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/02/2011, 09:41
Avatar de alcide
alcide
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 11 meses
Puntos: 0
De acuerdo Respuesta: gestion de Usuarios en Codeigniter, con problemas.

Hola Amigo Copia

Cita:
Iniciado por Copia Ver Mensaje
Código PHP:
Ver original
  1. class Acceso
  2. {
  3.    
  4.     function identificado(){
  5.         $this->CI =&get_instance();
  6.         $controllersprivados = array('user', 'home');
  7.        
  8.         if($this->CI->session->userdata('logged_in')==true && $this->CI->router->method == 'login') redirect('home');
  9.        
  10.         if($this->CI->session->userdata('logged_in')!=true && $this->CI->router->method!='login' && in_array($this->CI->router->class, $controllersprivados)) redirect('user/login');
  11.     }
  12. }
El código anterior es el archivo application/hooks/acceso.php?

Prueba con esto a ver que tal te va.....

Código PHP:
Ver original
  1. <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ?>
  2. <?php
  3. //application/hooks/acceso.php
  4. class Acceso {
  5.  
  6. function identificado (){
  7. //Tus controles privados
  8. //Solo accedes si estás autenticado
  9. $this->CI =&get_instance();
  10. $controllersprivados=array('usuarios','noticias','ayuda');
  11.  
  12.        
  13. if ($this->CI->session->userdata('logged_in')==true && $this ->CI->router->method=='login') redirect('home');
  14. if ($$this->CI->session->userdata('logged_in')!=true && $this ->CI->router->method!='login' && in_array($this->CI->router->class, $controllersprivados)) redirect('user/login');;
  15.  
  16.  
  17. }
  18. }
  19.  
  20. ?>
  21.  
  22. //application/config/hook.php
  23.  
  24. $hook['post_controller_constructor']=array(
  25. 'class'=>'Acceso',
  26. 'function'=>'identificado',
  27. 'filename'=>'acceso.php',
  28. 'filepath'=>'hooks',
  29. );

Si no resuelves entonces donde utilizas
Código PHP:
$this->CI->session->userdata('logged_in'
Sustitúyelo por la variable que tienes en tu clase librería es decir la bandera (true ó false) de si estás autenticado o no..
Ejemplo
Código PHP:
<?php 
$libreriases
= new Librerias();
//Entonces sustituyes en la clase acceso la línea 
//esta 
$this->CI->session->userdata('logged_in')
// por esta que debe ser el método que te devuelve si el usuario está autenticado o no
$libreriases->getAuth()
?>
saludos