Saturday 15 May 2010

database - yii2 rbac check for role user->can() -



database - yii2 rbac check for role user->can() -

i installed , configured rbac in yii2 dbmanager don't "check" working with:

if (yii::$app->user->can('waitaccess')) { echo "yes pending."; } else { echo "nothing"; }

i made 3 users different roles each of them able see first line despite don't have permission. "in opinion"

this here rbaccontroller

<?php namespace console\controllers; utilize yii; utilize yii\console\controller; class rbaccontroller extends controller { public function actioninit() { $auth = yii::$app->authmanager; // add together "user2view" permission $user2view = $auth->createpermission('user2view'); $user2view->description = 'user2 view'; $auth->add($user2view); // add together "user1view" permission $user1view = $auth->createpermission('user1view'); $user1view->description = 'user1 view'; $auth->add($user1view); // add together "waitaccess" permission $waitaccess = $auth->createpermission('waitaccess'); $waitaccess->description = 'wait access'; $auth->add($waitaccess); // add together "seeconfig" permission $seeconfig = $auth->createpermission('seeconfig'); $seeconfig->description = 'access administrative config'; $auth->add($seeconfig); // add together "user2" role , give role "user2view" permission $user2 = $auth->createrole('user2'); $auth->add($user2); $auth->addchild($user2, $user2view); // add together "user1" role , give role "user1view" permission $user1 = $auth->createrole('user1'); $auth->add($user1); $auth->addchild($user1, $user1view); // add together "pending" role , give role "waitaccess" permission $pending = $auth->createrole('pending'); $auth->add($pending); $auth->addchild($pending, $waitaccess); // add together "superadmin" role , give role "seeconfig" permission $superadmin = $auth->createrole('superadmin'); $auth->add($superadmin); $auth->addchild($superadmin, $seeconfig); $auth->addchild($superadmin, $user2view); $auth->addchild($superadmin, $user1view); $auth->addchild($superadmin, $waitaccess); } }

maybe have clue can for.

update: db construction

update 2:

i solved it! stupidity didn't took on default rules users written down. had access. deleting line , adding pending standard resolved it.

database user yii2 rbac

No comments:

Post a Comment