Skip to content

MNBuyskih/Yii-Console-RBAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

#Yii Console RBAC

Это простое консольное приложение, написаное для Yii, упрощающее работу с RBAC в этом фреймворке.

###Инсталяция

Скопируйте файл в дирректорию /path/to/your/app/protected/commands

###Help

Чтобы получить полное описание класса, запустите из консоли:

$ /path/to/your/app/protected/yiic rbac

##Простой пример использования

Есть три роли:

  1. Гость
  2. Пользователь
  3. Администратор

Предположим, что таблица пользователей (пусть будет user) имеет поле is_admin. Если значение поля равно 1 - авторизованый пользователь является администратором.

Кроме этого предположим, что вы уже дополнили ваше приложение собственной реализацией класса CWebUser и добавили в него метод getModel, возвращающий модель текущего авторизованного пользователя.

В соответсвии с этими допущениями составим бизнесправило для администратора (не забывайте, что это должно быть полноценное php-выражение: return - в начале, ; - в конце):

return !Yii::app()->user->isGuest && Yii::app()->user->model->is_admin == 1;

Бизнесправило для пользователя

return !Yii::app()->user->isGuest;

Бизнесправило для гостя

return Yii::app()->user->isGuest;

Теперь можно добавить все роли в систему:

$ cd /path/to/your/app/protected
$ yiic rbac role --name='admin' --description='This is Administrator' --bizRule='return !Yii::app()->user->isGuest && Yii::app()->user->model->is_admin == 1;'
$ yiic rbac role --name='user' --description='This is simple user' --bizRule='return !Yii::app()->user->isGuest;'
$ yiic rbac role --name='guest' --description='This is guest' --bizRule='return Yii::app()->user->isGuest;'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages