app\components\User::checkAccessRoute PHP Method

checkAccessRoute() private method

Splits permissionName by underscore and match parts against more global rule eg. a permission app_site will match, app_site_foo
private checkAccessRoute ( $permissionName, $params, $allowCaching ) : boolean
$permissionName
$params
$allowCaching
return boolean
    private function checkAccessRoute($permissionName, $params, $allowCaching)
    {
        $route = explode('_', $permissionName);
        $routePermission = '';
        foreach ($route as $part) {
            $routePermission .= $part;
            if (\Yii::$app->user->id) {
                $canRoute = parent::can($routePermission, $params, $allowCaching);
            } else {
                $canRoute = $this->canGuest($routePermission, $params, $allowCaching);
            }
            if ($canRoute) {
                return true;
            }
            $routePermission .= '_';
        }
        return false;
    }