Вы логика верна, это должно работать.Это именно то, что я делаю на всех своих сайтах codeigniter.Мой код немного сложнее, так как моя проверка входа вызывается из библиотеки (поэтому мне нужно позвонить $CI =& get_instance();
и затем $CI
вместо $this
), но что-то вроде ниже должно работать для вас.logged_in
- это просто имя, присвоенное элементу набора данных сеанса, когда пользователь входит в систему.
class MY_Main extends CI_Controller {
function __construct()
{
parent::__construct();
$session_data = $this->session->all_userdata();
if(!isset($session_data['logged_in']))
redirect('/login');
}
}
Что касается вашего комментария выше (http 500), не совсем уверен, что там происходит.Код, который вы вставили, не должен выдавать подобные ошибки, так что, вероятно, происходит что-то еще.Попробуйте включить встроенные функции регистрации кода.
http://codeigniter.com/user_guide/general/errors.html