есть
Расширение базовых контроллеров: 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']
. Это будет скорректировано в зависимости от того, какую библиотеку auth вы используете, но вы получаете суть. Теперь у вас есть доступ к текущему идентификатору пользователей и всем их деталям, с помощью любого контроллера, который расширяет «MY_Controller»
Теперь вы можете создать контроллер «admin» или любое количество других, чтобы ограничить доступ. как так: 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...');
}
}
}
?>
, как вы можете see..possibilities бесконечны
Так, для администратора только страниц - используйте admin контроллер только для страниц участника - общедоступный для «обычных» страниц - используйте контроллер по умолчанию.
Я свяжусь с Phil Sturgeon's статьи, как это, где я прочитал об этом сначала
Спасибо .... вот что я боялся. Похоже, что был бы «DRYer». – SideDishStudio 2010-11-24 06:21:05