есть
Расширение базовых контроллеров: MY_Controller.php
<?php
class MY_Controller extends Controller {
function __construct()
{
parent::Controller();
$user_id = $this->session->userdata('user_id');
$this->data['user'] = $this->user_lib->get($user_id);
}
}
?>
Вы можете хранить все виды информации в этой конструкции.Он просто получает идентификатор текущего вошедшего в систему пользователя и присваивает ему $data['user']
.Это будет изменено в зависимости от того, какую библиотеку аутентификации вы используете, но вы получите суть.Теперь у вас есть доступ к текущему идентификатору пользователя и всем его деталям из любого контроллера, который расширяет «MY_Controller»
, теперь вы можете создать «административный» контроллер или любое количество других для ограничения доступа.вот так: Admin_Controller.php
<?php
class Admin_Controller extends MY_Controller {
function __construct()
{
parent::Controller();
if($this->data['user']['group'] !== 'admin')
{
show_error('Error - you need to be an admin.');
}
}
}
?>
Public_controller.php
<?php
class Public_Controller extends MY_Controller {
function __construct()
{
parent::Controller();
if($this->data['user']['group'] !== 'member')
{
show_error('You need to login to see this page...');
}
}
}
?>
, как вы можете видеть ... возможности безграничны
Итак, для страниц только для администратора - используйте контроллер администратора для страниц только для членов - общедоступные для "обычных" страниц - используйте контроллер по умолчанию.
Я сошлюсь на Фил Стерджон статья, где я впервые об этом прочитал