Я работал с двумя подходами с авторизацией пользователя в CI
вы можете сделать это на основе каждой страницы, с помощью __construct()
функция, проверяя, зарегистрирован ли пользователь и затем перенаправляет их соответствующим образом.
В качестве альтернативы вы можете расширить базовые контроллеры, чтобы у вас (например) обычный контроллер, для страниц, для которых не требуется аутентификация, «публичный» контроллер, который требует, чтобы вы вошли в систему, и контроллер «Admin», который позволяет использовать только определенные типы пользователей.
Я имею в виду еще раз Фил осетра для этого - extending base controllers
я бы также рекомендую посмотреть на какой-Auth библиотек - Ion Auth и Tank Auth, как правило, принимаются как очень хорошо - но есть много доступных.
Ваша функция также довольно ограничена - пользователь может делать только один вариант (основной).
Лучше подход
<?php
class Foo extends Controller {
function __construct()
{
$is_logged_in = $this->session->userdata('is_logged_in');
if(!isset($is_logged_in)||$is_logged_in!= TRUE)
{
redirect('login');
}
}
// else, logged in..proceed
}
, например.
Возможно, проблема связана с вашим подходом к кодированию. Вы должны ограничить доступ к пользователю, который действительно зарегистрировался. Покажите нам какой-то код. –
Я предоставил код ниже ... –