lk9090 2012-03-01 11:11:27 2226次浏览 5条回复 0 0 0

下面这段代码应该写在什么地方,什么时候会被加载?

$auth=Yii::app()->authManager;
$auth->createOperation('createPost','create a post');
$auth->createOperation('readPost','read a post');
$auth->createOperation('updatePost','update a post');
$auth->createOperation('deletePost','delete a post');
$bizRule='return Yii::app()->user->id==$params["post"]->authID;';
$task=$auth->createTask('updateOwnPost','update a post by author himself',$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');
亿速云
  • 回复于 2012-03-09 13:31 举报

    怎么没有回答一下啊?各位帮个忙啊,谢谢

  • 回复于 2012-03-13 12:24 举报

    简单应用真不建议用rbac了按照action控制权限已经够了,
    这些代码只要运行一次就可以,写哪都行,如果你熟悉结构自己加到数据库也行

  • 回复于 2012-05-29 11:21 举报

    学习学习。。

  • 回复于 2012-05-31 15:19 举报

    嗯,我同意3楼的意见,代码写那里关键看你希望这段代码怎么起到作用,另外如果不是复杂的权限控制还是不要用rbac的比较好

  • 回复于 2012-06-05 14:52 举报

    RBAC还是挺占用资源的。简单的就用accessRules()就可以了。

您需要登录后才可以回复。登录 | 立即注册