Создайте класс в основной папке, затем заставьте все ваши контроллеры расширять этот класс.
Я сделал систему входа, очень похожую на ту, которую вы описываете.
Это класс восновная папка:
class MY_Controller extends CI_Controller{
public function __construct()
{
parent::__construct();
$this->load->library('cart');
$this->load->library('session');
$this->load->library('pagination');
$this->load->helper('form');
$this->load->library('form_validation');
if (!$this->session->userdata('loggedin')){
redirect('/sessions/log_in/','refresh');
}
}
}
Примечание: убедитесь, что ваш конфиг правильно настроен для префикса наследования
Тогда ваши контроллеры в папке контроллеров расширятся My_Controller
Для многоуровневоговходы в систему или более подробный пример см. мой старый вопрос:
Codeigniter: Управление правами входа в систему с наследованием
Также учебник, на котором я основывал свои вещи на:
http://davidwinter.me/articles/2009/02/21/authentication-with-codeigniter/
Ответ относительно дальнейшей передачи данных: Использовать класс сеанса?
http://codeigniter.com/user_guide/libraries/sessions.html
$this->load->library('session');
$this->session->userdata('fieldName') = 1;//*appropriateValue*;
//Call this in another class
echo $this->session->userdata('fieldName');