В последнем фрагменте перевода, руководства пользователя библиотеки DX Auth фреймворка CodeIgniter, мы рассмотрим пример установки прав доступа используя модель application/models/dx_auth/permissions.php.
- CodeIgniter: библиотека DX Auth
- DX Auth: руководство пользователя. Начало
- DX Auth: Руководство пользователя. Справочник по функциям
- DX Auth: Руководство пользователя. События
- DX Auth: Руководство пользователя. Конфигурация
- DX Auth: Руководство пользователя. Модели
- DX Auth: Руководство пользователя. Анатомия таблиц
- DX Auth: Примеры. Простой пример
- DX Auth: Примеры. Расширенный пример
- DX Auth. Примеры. Пример использования reCAPTCHA
- DX Auth: Примеры. Пример с правами доступа
Простой пример назначения прав доступа
// Загружаем модель
$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.

Комментариев нет:
Отправить комментарий