code: public function canAccess($permissionKeys, $fullAccessKey, $errorMsg, $defaultUrl, $redirect = false)
      {
          if ($this->getUser()->isGuest) {
              return $this->getUser()->loginRequired();
          }
  
          if ($this->getPermissionManager()->canAccess($fullAccessKey)) {
              return true;
          }
  
          if (!is_array($permissionKeys)) {
              $permissionKeys = [$permissionKeys];
          }
  
          foreach ($permissionKeys as $permissionKey) {
              if ($this->getPermissionManager()->canAccess($permissionKey)) {
                  return true;
              }
          }
  
          if ($redirect) {
              $this->flashError($errorMsg);
  
              $request = $this->getRequest();
              $referrerUrl = $request->referrer;
  
              $redirectUrl = ($referrerUrl == $request->url || is_null($referrerUrl)) ?
                  $defaultUrl : $referrerUrl;
  
              $this->redirect($redirectUrl)->send();
              Yii::$app->end(); //this enforces the redirect
          }
          return false;
      }
docs: Handle access based on permissions
  @author Taiwo Ladipo <ladipotaiwo01@gmail.com>
  @param $permissionKeys
  @param bool $redirect
  @param $fullAccessKey
  @param $errorMsg
  @param $defaultUrl
  @return bool|Response
  @throws \yii\base\ExitException
  @throws \yii\web\ForbiddenHttpException