суббота, 18 декабря 2010 г.

DX Auth: Примеры. Пример с правами доступа

В последнем фрагменте перевода, руководства пользователя библиотеки DX Auth фреймворка CodeIgniter, мы рассмотрим пример установки прав доступа используя модель application/models/dx_auth/permissions.php.


Простой пример назначения прав доступа

// Загружаем модель   
$this->load->model('dx_auth/permissions', 'permissions');  
 
// Устанавливаем право доступа 'edit' равное TRUE для role_id = 1.  
$this->permissions->set_permission_value(1, 'edit', TRUE);   

Назначаем несколько прав за один раз

// Загружаем модель   
$this->load->model('dx_auth/permissions', 'permissions');  
 
// Для начала получим права доступа для роли role_id = 1.
// Так как, если мы не получим уже установленные права, то они будут утеряны.
// Это связано с механизмом хранения, права доступа хранятся в виде массива преобразованного в строку
$permission_data = $this->permissions->get_permission_data(1);  
 
// Устанавливаем значения прав доступа в массиве
$permission_data['edit'] = TRUE;  
$permission_data['delete'] = FALSE;  
 
// Устанавливаем права доступа для роли role_id = 1  
$this->permissions->set_permission_data(1, $permission_data); 

Этот пример демонстрирует как получить права доступа, используя библиотеку DX Auth без подключения модели, после того как пользователь зашёл.

if ($this->dx_auth->get_permission_value('edit') != NULL AND $this->dx_auth->get_permission_value('edit'))  
{  
    echo 'Редактирование доступно для вашей роли';  
}  
else  
{  
    echo 'Редактирование не доступно для вашей роли';  
}

Больше примеров вы можете найти в файле controllers/backend.php, в функциях uri_permissions и custom_permissions.

Похожие по тематике посты:

Комментариев нет: