/ / Como eu defino a permissão para o accesscontrol do mdmsoft / yii2-admin - yii2, rbac, yii2-user

Como eu defino a permissão para o accesscontrol do mdmsoft / yii2-admin - yii2, rbac, yii2-user

Eu criei uma permissão para o meu sistema e por esta extensão outros trabalhando bem. Como exemplo, eu defini permissão para o módulo Page, então usei abaixo do código

  if(Yii::$app->user->can("page_module")){}else{
throw new ForbiddenHttpException("You are not authorized to perform this action.", 403);
}

e isso me provê restrição. Eu usei essas linhas de código pf no controlador de extensão, então ele restringiu mas causa vulnerável se eu atualizar a extensão, em seguida, o código irá remover. E eu não entendi como eu estendo toda a permissão do controlador e do conjunto, se existe outra maneira desconhecida para mim.

Respostas:

1 para resposta № 1

Uma vez que você tenha configurado a extensão mdmsoft / yii2-admin, o acesso será negado a todas as rotas até que você as conceda. Em vez de codificar yii::$app->user-can("permission") utilize o RBAC, que deve ser a única razão pela qual você instalou o mdmsoft / yii2-admin.

Como o Access Setup Espero que você esteja usando o modelo avançado do Yii2. Inicialmente, configure o acesso como em seu frontend/config/main.php :

"as access" => [
//This access behavior must be in frontend and backend.
//The "as access" behavior will interfere with migrations if put in common.
"class" => "mdmadmincomponentsAccessControl",
"allowActions" => [
"site/*",  //Allow by default to all.
"debug/*",
//"admin/*", //Leave commented out, unless setting up admin roles initially.
//Allow guests to do:
"ticket/ticket/index",
]
],

Configurar o RBAC

A hierarquia do RBAC é assim:

Usuário-> Funções-> Permissões-> Rotas

Exemplo

-Joey

--Admin_Role

---- Admin_Permission

-------- app / controller1 / *

-------- app / controller2 / view

Configurar o RBAC

  1. Primeiro adicione suas rotas.
  2. Adicione suas permissões.
  3. Atribuir rotas às suas permissões.
  4. Crie seus papéis.
  5. Atribuir permissões às suas funções.
  6. Atribuir funções aos seus usuários.