RBAC и построение иерархии авторизации

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

RBAC и построение иерархии авторизации

Сообщение delias »

Мужики, разобрался наполовину с RBAC, всё сделал, такая штука работает:

Код: Выделить всё

Yii::app()->user->checkAccess('administrator');
Дальше не могу понять (Построение иерархии авторизации) где это нужно прописать?

Код: Выделить всё

//Приведём пример построения иерархии авторизации с использованием данного API:

$auth=Yii::app()->authManager;
 
$auth->createOperation('createPost','создание записи');
$auth->createOperation('readPost','просмотр записи');
$auth->createOperation('updatePost','редактирование записи');
$auth->createOperation('deletePost','удаление записи');
 
$bizRule='return Yii::app()->user->id==$params["post"]->authID;';
$task=$auth->createTask('updateOwnPost','редактирование своей записи',$bizRule);
$task->addChild('updatePost');
 
$role=$auth->createRole('reader');
$role->addChild('readPost');
 
$role=$auth->createRole('author');
$role->addChild('reader');
$role->addChild('createPost');
$role->addChild('updateOwnPost');
 
$role=$auth->createRole('editor');
$role->addChild('reader');
$role->addChild('updatePost');
 
$role=$auth->createRole('admin');
$role->addChild('editor');
$role->addChild('author');
$role->addChild('deletePost');
 
$auth->assign('reader','readerA');
$auth->assign('author','authorB');
$auth->assign('editor','editorC');
$auth->assign('admin','adminD');
delias
Сообщения: 41
Зарегистрирован: 2011.10.07, 11:44

Re: RBAC и построение иерархии авторизации

Сообщение delias »

Ну да, я так и сделал через файл. Просто не совсем понятно, как дальше использовать эти роли, каждый раз перед каким-то действием проверять

Код: Выделить всё

 if(!Yii::app()->user->checkAccess('guest')) ... 
или где-то можно один раз прописать какие действия над какими моделями можно совершать?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: RBAC и построение иерархии авторизации

Сообщение ElisDN »

delias писал(а):или где-то можно один раз прописать какие действия над какими моделями можно совершать?
Посмотрите как прописаны правила accessRules контроллера в разделе Фильтр контроля доступа той же статьи.
Ответить