В последнем фрагменте перевода, руководства пользователя библиотеки 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.
Комментариев нет:
Отправить комментарий