user->id) { $permissionApi = new PermissionApi(); $permissioin = $permissionApi->getPermission(Yii::$app->user->id)['data']; if (!$permissioin) { Yii::$app->params['allow_urls'] = []; echo $action->controller->renderPartial('/common/not_right'); return false; } $urls = explode(',', trim($permissioin['url'], ',')); Yii::$app->params['allow_urls'] = $urls; $controllerId = $action->controller->id; $url = '/admin/' . $controllerId; if (!in_array($url, $urls) && !in_array($controllerId, $this->whiteList)) { echo $action->controller->renderPartial('/common/not_right'); return false; } } $id = !empty($_COOKIE[MemberIdentity::ADMIN_LOGIN_ID_COOKIE]) ? trim($_COOKIE[MemberIdentity::ADMIN_LOGIN_ID_COOKIE]) : ''; $password = !empty($_COOKIE[MemberIdentity::ADMIN_LOGIN_TOKEN_COOKIE]) ? trim($_COOKIE[MemberIdentity::ADMIN_LOGIN_TOKEN_COOKIE]) : ''; if ($id && $password) { $api = new LoginApi(); $result = $api->loginByIdPassword($id, $password); if ($result['code'] == 1 && isset($result['data']['type']) && $result['data']['type'] == MemberIdentity::MEMBER_TYPE_ADMIN) { $identity = MemberIdentity::findIdentity($id); Yii::$app->getUser()->login($identity); } } if (Yii::$app->getUser()->getIsGuest()) { Yii::$app->response->redirect(Yii::$app->user->loginUrl); return false; } return parent::beforeAction($action); } }