2017-02-24 1 views
1

J'essaie de charger un contrôleur (tableau de bord) si la session est correcte.Charger un contrôleur si autorisé

if ($this->form_validation->run() == FALSE) { 
    if(isset($this->session->userdata['logged_in'])){ 
    echo 'dashboard-01'; //test load 
    $this->load->controllers('Dashboard');//Not sure if syntax is ok. 

Est-ce possible? Y a-t-il de meilleures approches sur la façon de faire cela?

+0

Vous devriez regarder dans HMVC pour charger les contrôleurs avec les contrôleurs dans les contrôleurs normaux que MVC ne peut pas. – user4419336

+0

J'ai regardé sur wiki. Modèle-vue-contrôleur hiérarchique est probablement ce que je fais ici, sans connaître HMVC. J'ai un MVC pour se connecter, et un nouveau MVC pour les différentes parties de l'application. Merci @ wolfgang1983 pour ce commentaire, je vais certainement en lire plus à ce sujet. –

Répondre

2

Ce que je fais habituellement est de charger le contrôleur et vérifier son constructeur si l'utilisateur a assez des informations d'identification:

class Sociedades extends CI_Controller { 

    var $globales = array(); 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->database(); 
     $this->load->library(array('ion_auth','form_validation')); 
     // Elliot, if you see this, don't delete it! 
     $this->load->model('fSociety_model'); 

     if (!$this->ion_auth->logged_in()) 
     { 
      //redirect them to the login page if not authorized 
      redirect('auth/login', 'refresh'); 
     } 
    } 

    // then the index and other methods... 
} 

Soit dit en passant, j'utilise IonAuth Ben Edmund.

+0

C'est exactement ce que je cherchais. travaille maintenant ... Gracias @ zJorge. –