YII2模块访问控制



我的访问控制代码不在模块默认控制器上工作,但在所有其他页面上它工作正常。你知道我做错了什么吗?

编辑:发生的是:…/web/mymodule不重定向,而是…/web/mymodule里/mycontroller。如果你尝试…/web/mymodule/default .

编辑2:解决了。问题出在public function beforeAction($action)

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

似乎你无法控制动作。在SiteController中试试:

    return [
        'access' => [
            'class' => AccessControl::className(),
            'only' => ['logout', 'signup'],
            'rules' => [
                [
                    'actions' => ['signup'],
                    'allow' => true,
                    'roles' => ['?'],
                ],
                [
                    'actions' => ['logout'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
        ],
        'verbs' => [
            ..............
        ],
    ];

相关内容

  • 没有找到相关文章

最新更新