对 dektrium 用户管理索引操作没有权限
No permissions on dektrium user admin index action
我安装了 dektrium 用户,但是当覆盖 AdminController.php
并尝试达到 admin/index
时,我得到的是 Forbidden(403)
。覆盖行为后:
'rules' => [
[
'allow' => true,
'roles' => ['?'],
],
],
错误还是一样。这样做是因为我仍然没有任何角色。什么会导致这种行为?我的目标是原点 index.php
(dektrium\yii2-user
模块中的原点)。谢谢!
您需要遵循这些规则来覆盖 dektrium-user
的控制器
directory structure
如果你想把它放到前端,你可以更改以下内容,只需要更改起始文件夹
- backend
- controllers
- user
- AdminController
module
部分下 user
模块的配置应如下所示
'modules' => [
..............
'user' => [
'controllerMap' => [
'admin' => 'backend\controllers\user\AdminController' ,
] ,
要用新操作覆盖控制器index
,您的最少代码应如下所示
AdminController
<?php
namespace backend\controllers\user;
use dektrium\user\controllers\AdminController as BaseAdmin;
class AdminController extends BaseAdmin {
public function behaviors() {
$behaviours = parent::behaviors ();
$behaviours['access']['rules'][] = [
'allow' => true ,
'actions' => [ 'index' ] ,
'roles' => [ '?' ]
];
return $behaviours;
}
public function actionIndex(){
return $this->render('index');
}
}
我安装了 dektrium 用户,但是当覆盖 AdminController.php
并尝试达到 admin/index
时,我得到的是 Forbidden(403)
。覆盖行为后:
'rules' => [
[
'allow' => true,
'roles' => ['?'],
],
],
错误还是一样。这样做是因为我仍然没有任何角色。什么会导致这种行为?我的目标是原点 index.php
(dektrium\yii2-user
模块中的原点)。谢谢!
您需要遵循这些规则来覆盖 dektrium-user
的控制器directory structure
如果你想把它放到前端,你可以更改以下内容,只需要更改起始文件夹
- backend
- controllers
- user
- AdminController
module
部分下 user
模块的配置应如下所示
'modules' => [
..............
'user' => [
'controllerMap' => [
'admin' => 'backend\controllers\user\AdminController' ,
] ,
要用新操作覆盖控制器index
,您的最少代码应如下所示
AdminController
<?php
namespace backend\controllers\user;
use dektrium\user\controllers\AdminController as BaseAdmin;
class AdminController extends BaseAdmin {
public function behaviors() {
$behaviours = parent::behaviors ();
$behaviours['access']['rules'][] = [
'allow' => true ,
'actions' => [ 'index' ] ,
'roles' => [ '?' ]
];
return $behaviours;
}
public function actionIndex(){
return $this->render('index');
}
}