我可以尝试简单的代码。
我有一个 AccessController ,它有behavior():
class AccessController extends BackendController
{
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['@'],
],
]
],
];
}
/*public function init()
{
parent::init();
if( Yii::$app->getUser()->getIsGuest() )
{
return $this->redirect('/auth');
}
return true;
}*/
public function actions()
{
return [
'WysiwygUpload' => [
'class' => WysiwygUpload::className(),
]
];
}
}
根据我的理解,如果我没有声明'仅'键,则表示对所有操作和控制器。
但没有任何事情发生:没有错误,没有错误
答案 0 :(得分:1)
您的控制器AccessController仅适用于您的App /后端/访问请求,不适用于所有controllerAction ..
如果你想在AdminController中拒绝访问guest虚拟机,你可以应用AdminController的行为
class AdminController extends Controller
{
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['@'],
],
]
],
];
}
........
然后当访客尝试访问您的App / backend / admin时,不允许这样做