基本应用程序中的Yii2管理示例

基本应用程序中的Yii2管理示例,yii2,Yii2,是否有人有此扩展的工作示例。 我说的是: 我正在寻找Yii应用程序基本 我安装并正常工作,但我不知道如何配置角色和规则 在Yii 1.xxx中我使用了,但在Yii2.xx中不起作用创建自定义模型AccessRules.php <?php namespace app\models; class AccessRules extends \yii\filters\AccessRule { /** * @inheritdoc */ protected

是否有人有此扩展的工作示例。 我说的是:

我正在寻找Yii应用程序基本

我安装并正常工作,但我不知道如何配置角色和规则

在Yii 1.xxx中我使用了,但在Yii2.xx中不起作用

创建自定义模型AccessRules.php

<?php 
namespace app\models;


class AccessRules extends \yii\filters\AccessRule
{

    /**
     * @inheritdoc
     */
    protected function matchRole($user)
    {
        if (empty($this->roles)) {
            return true;
        }
        foreach ($this->roles as $role) {
            if ($role === '?') {

                if ($user->getIsGuest()) {
                    return true;
                }
            } elseif ($role === '@') {
                if (!$user->getIsGuest()) {
                    return true;
                }
            // Check if the user is logged in, and the roles match
            } elseif (!$user->getIsGuest() && (int)$role === $user->identity->user_role) {
               return true;
            }
        }

        return false;
    }
}
?>
public function behaviors()
   {
        return [
            'access' => [
                    'class' => AccessControl::className(),
    // We will override the default rule config with the new AccessRule class
    'ruleConfig' => [
        'class' => AccessRules::className(),
    ],
    'only' => ['create', 'update', 'delete','index'],
    'rules' => [
        [
            'actions' => ['create', 'update', 'delete','index'],
            'allow' => true,
            // Allow admin to create
            'roles' => [
                '1' 
            ],
        ]
    ],
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post'],
                ],
            ],
        ];
    }