Этот пакет брошен и больше не поддерживается. Предложен замена пакета не было.

Kohana v3 ACL

3.3.1 2014-01-17 21:41 UTC

This package is auto-updated.

Last update: 2022-05-12 17:17:20 UTC


README

#Kohana ACL

ACL модуль для Kohana >= 3.3 на основе Wouterrr/ACL + Wouterrr/A2

###Зависимости

###Установка

Сначала скачайте и включите модуль в вашем bootstrap.

Добавьте необходимые таблицы и поля в базу данных с помощью миграций

$ ./minion db:migrate --module=kohana-acl

###Настройки

..........

###Использование

####Простое использование без файла конфигурации или базы данных Добавить ресурс

ACL::instance()->add_resource('news');

Добавить роли

ACL::instance()->add_role('guest');
ACL::instance()->add_role('member');
ACL::instance()->add_role('editor');
ACL::instance()->add_role('admin');

Разрешить "guest" к "view" новостей

ACL::instance()->allow('guest', 'news', 'view');

Разрешить "member" к "comment" на "news"

ACL::instance()->allow('member', 'news', 'comment');

Разрешить "editor" выполнять всё, кроме "delete" новостей

ACL::instance()->allow('editor', 'news');
ACL::instance()->deny('editor', 'news', 'delete');

Разрешить "admin" выполнять всё

ACL::instance()->allow('admin');

Проверить разрешения для текущего пользователя

ACL::check('news', 'edit'); // return boolean value

Проверить разрешения для любой роли

ACL::instance()->is_allowed('guest', 'news', 'comment');
ACL::instance()->is_allowed('editor', 'news', 'add');
ACL::instance()->is_allowed('admin', 'news', 'delete');

###Драйверы

####Использование Auth в качестве драйвера См. демо приложение или используйте стандартный драйвер, который является обёрткой для Auth.

####Создание нового драйвера Класс должен реализовать интерфейс ACL_Auth_Interface. Например см. стандартный драйвер