RBAC для основного шаблона yii2

Я хочу создать приложение, в котором только администратор может выполнять все операции crud, но другие пользователи могут создавать и обновлять сообщения. Я нашел учебники на основе rbac, но только для расширенного шаблона, но я использую базовый шаблон. Я также следовал руководству yii2, но я не очень хорошо его понимал, как выполнение команды ./yii rbac / init console. Как мне это сделать?

прежде всего создайте в папке с образцом класс помощников PermissionHelpers:

namespace app\models; use Yii; class PermissionHelpers { public static function requireAdmin() { if(Yii::$app->user->identity->role == 100) { return true; } else return false; } } 

Затем обновите контроллер следующим образом:

 // at top with your other use use yii\filters\AccessControl; use app\models\PermissionHelpers; // first function inside the class public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(), 'only' => ['privateaction1', 'privateaction2'], 'rules' => [ [ 'actions' => ['privateaction1', 'privateaction2'], 'allow' => true, 'roles' => ['@'], 'matchCallback' => function($rule, $action) { return PermissionHelpers::requireAdmin(); } ], ], ], } 

И теперь вам нужно обновить себя в БД с помощью role = 100, и вы настроены.

Я сам использую расширенный шаблон, поэтому могут быть небольшие изменения в пространствах имен и т. Д. Но это должно быть довольно легко понять. Удачи!