Я делаю защищенный вход в систему, которую создаю с помощью CI, так как должен существовать административный контроль над системой.
Мой подход состоял в том, что я сделал файл в каталоге application / core с именем MY_System.php, где я получил эту строку кода:
class MY_System extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
Тогда у меня также есть Admin_Controller.php, где я получил этот код:
class Admin_Controller extends MY_System
{
function __construct()
{
parent::__construct();
$this->is_logged_in();
}
function is_logged_in()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in) || $is_logged_in != true)
{
redirect(base_url(). 'login');
}
}
}
2 файла выше сохранены в основной папке фреймворка.
Находясь в каталоге контроллеров системы, я получил несколько контроллеров, скажем, Person в том случае, когда у меня есть этот код:
class Person extends Admin_Controller
{
function __construct()
{
parent::__construct();
}
}
Я считаю, что таким образом, когда бы ни были страницы системы, которые должны быть ограничены, я бы использовал Admin_Controller в качестве родителя классов, чтобы пользователи не могли напрямую получить доступ к страницам.
Теперь, моя проблема в том, что, как я нажму кнопку «Выйти», сеанс будет уничтожен, и данные пользователя будут очищены, таким образом, пользователь должен быть перенаправлен на страницу входа, но это не происходит, потому что всякий раз, когда я нажимаю кнопка «Назад» браузера сразу после того, как я нажму кнопку «Выйти», предыдущая страница, на которой находился пользователь, все равно будет отображаться, но когда я нажимаю ссылки на этих страницах, это время, когда пользователь будет перенаправлен на страницу входа. Что я хочу, так это то, что после нажатия кнопки «Выйти» и если он / она пытается и нажимает кнопку «Назад» браузера, он / она должен быть перенаправлен на страницу входа в систему.
Кто-нибудь знает решение моей проблемы? Любая помощь приветствуется. Заранее спасибо.