mirror of
https://github.com/yiisoft/yii2.git
synced 2025-12-19 07:07:58 +08:00
Сheck if user is authenticated in RBAC UserGroupRule.
This commit is contained in:
@@ -416,6 +416,7 @@ You can create set up the RBAC data as follows,
|
|||||||
```php
|
```php
|
||||||
namespace app\rbac;
|
namespace app\rbac;
|
||||||
|
|
||||||
|
use Yii;
|
||||||
use yii\rbac\Rule;
|
use yii\rbac\Rule;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -427,15 +428,16 @@ class UserGroupRule extends Rule
|
|||||||
|
|
||||||
public function execute($user, $item, $params)
|
public function execute($user, $item, $params)
|
||||||
{
|
{
|
||||||
$group = \Yii::$app->user->identity->group;
|
if (!Yii::$app->user->isGuest) {
|
||||||
|
$group = Yii::$app->user->identity->group;
|
||||||
if ($item->name === 'admin') {
|
if ($item->name === 'admin') {
|
||||||
return $group == 1;
|
return $group == 1;
|
||||||
} elseif ($item->name === 'author') {
|
} elseif ($item->name === 'author') {
|
||||||
return $group == 1 || $group == 2;
|
return $group == 1 || $group == 2;
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$rule = new \app\rbac\UserGroupRule;
|
$rule = new \app\rbac\UserGroupRule;
|
||||||
|
|||||||
Reference in New Issue
Block a user