Reputation: 2733
Trying to set up the DbManager for Yii2. there are lots of threads about the php version, however, not much about the DB version.
What I do know:
Step 1: migrate script
./yii migrate --migrationPath=@yii/rbac/migrations/
Step 2: configuration
...
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['admin', 'user', 'guest'],
],
...
Step 3: set up roles / rules
????
Upvotes: 3
Views: 4535
Reputation: 259
$auth = Yii::$app->authManager;
// add "createPost" permission
$createPost = $auth->createPermission('createPost');
$createPost->description = 'Create a post';
$auth->add($createPost);
// add "updatePost" permission
$updatePost = $auth->createPermission('updatePost');
$updatePost->description = 'Update post';
$auth->add($updatePost);
// add "author" role and give this role the "createPost" permission
$author = $auth->createRole('author');
$auth->add($author);
$auth->addChild($author, $createPost);
// add "admin" role and give this role the "updatePost" permission
// as well as the permissions of the "author" role
$admin = $auth->createRole('admin');
$auth->add($admin);
$auth->addChild($admin, $updatePost);
$auth->addChild($admin, $author);
// Assign roles to users. 1 and 2 are IDs returned by IdentityInterface::getId()
// usually implemented in your User model.
$auth->assign($author, 2);
$auth->assign($admin, 1);
http://www.yiiframework.com/doc-2.0/guide-security-authorization.html
Upvotes: 2