public function process($access = '')
    {
        if (is_array($access)) {
            if (isset($access['name'])) {
                $name = $access['name'];

                if (isset($this->access[$name])) {
                    $accessInstance = $this->access[$name];
                    $accessInstance = new $accessInstance;

                    if ($accessInstance instanceof MiddlewareInterface) {

                        $role = isset($access['role']) ? $access['role'] : '';
                        $next = isset($access['next']) ? $access['next'] : null;
                        if ($accessInstance->handle($this->request, $role, $next)) {
                            return true;
                        } else {
                            if ($accessInstance instanceof TerminateInterface) {
                                $accessInstance->terminate($this->request);
                            }
                        }
                    }
                }
            }
        }

        return false;
    }