我的访问控制代码不在模块默认控制器上工作,但在所有其他页面上它工作正常。你知道我做错了什么吗?
编辑:发生的是:…/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' => [
..............
],
];