Beispiel #1
0
 /**
  * @param $action
  * @param $model
  * @param $key
  * @param $index
  * @return bool
  */
 public function checkAccess($action, $model, $key, $index)
 {
     $params = is_array($key) ? $key : ['id' => (string) $key];
     $params[0] = $this->controller ? $this->controller . '/' . $action : $action;
     if (!isset($this->_checkAccessCache[$params[0]])) {
         $operation = Rbac::routeToOperation(RouteNormalizer::normalizeRoute($params[0]));
         $this->_checkAccessCache[$params[0]] = Yii::$app->user->can($operation);
     }
     return $this->_checkAccessCache[$params[0]];
 }
Beispiel #2
0
 protected function checkAccessByRoute($route)
 {
     static $_routes = [];
     if (isset($_routes[$route])) {
         return $_routes[$route];
     }
     $operation = Rbac::routeToOperation($route);
     if ($operation === null) {
         return true;
     }
     return $_routes[$route] = Yii::$app->user->can($operation);
 }
Beispiel #3
0
 /**
  * @param string|array $route
  * @return bool
  */
 protected function checkAccess($route)
 {
     if (is_array($route)) {
         $route = reset($route);
     }
     $operation = Rbac::routeToOperation(RouteNormalizer::normalizeRoute($route));
     return \Yii::$app->user->can($operation);
 }