禁止(#403)-不允许您执行此操作[Yii2]

禁止(#403)-不允许您执行此操作[Yii2],yii2,Yii2,我尝试在后端添加菜单map。我使用yii2高级。这是我的“控制器”代码: public function actionMap() { return $this->render('map'); } 但是,当我尝试使用此urlhttp://localhost/yii2advanced/backend/web/index.php?r=site/map,我收到错误消息禁止(#403)-您不允许执行此操作。我不明白为什么会收到此错误消息,有人能帮我解决此问题吗?这是由以下原因引起的。根据访

我尝试在后端添加菜单
map
。我使用
yii2高级
。这是我的“控制器”代码:

public function actionMap()
{
    return $this->render('map');
}
但是,当我尝试使用此url
http://localhost/yii2advanced/backend/web/index.php?r=site/map
,我收到错误消息
禁止(#403)-您不允许执行此操作。我不明白为什么会收到此错误消息,有人能帮我解决此问题吗?

这是由以下原因引起的。根据访问规则,操作
map
很可能被阻止。允许所有经过身份验证的用户使用它的示例:

/**
 * @inheritdoc
 */ 
public function behaviors()
{
    return [
        'access' => [
            'class' => \yii\filters\AccessControl::className(),
            'only' => ['create', 'update'],
            'rules' => [                
                // allow authenticated users
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
                // everything else is denied
            ],
        ],
    ];
}

或者,您可以根据某些RBAC角色调整访问权限。

除了arogachev的回答之外: 将其粘贴到站点控制器中:

   public function behaviors() {
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login', 'error'],
                    'allow' => true,
                ],
                [
                    'actions' => ['logout', 'index'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
                [
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'logout' => ['post'],
            ],
        ],
    ];
}

这不是php问题,而是yii问题。