Neos\Flow\Security\Authorization\FilterFirewall::buildFiltersFromSettings PHP Method

buildFiltersFromSettings() protected method

Sets the internal filters based on the given configuration.
protected buildFiltersFromSettings ( array $filterSettings ) : void
$filterSettings array The filter settings
return void
    protected function buildFiltersFromSettings(array $filterSettings)
    {
        foreach ($filterSettings as $singleFilterSettings) {
            $patternType = isset($singleFilterSettings['pattern']) ? $singleFilterSettings['pattern'] : $singleFilterSettings['patternType'];
            $patternClassName = $this->requestPatternResolver->resolveRequestPatternClass($patternType);
            $patternOptions = isset($singleFilterSettings['patternOptions']) ? $singleFilterSettings['patternOptions'] : [];
            /** @var $requestPattern RequestPatternInterface */
            $requestPattern = $this->objectManager->get($patternClassName, $patternOptions);
            // The following check needed for backwards compatibility:
            // Previously each pattern had only one option that was set via the setPattern() method. Now options are passed to the constructor.
            if (isset($singleFilterSettings['patternValue']) && is_callable([$requestPattern, 'setPattern'])) {
                $requestPattern->setPattern($singleFilterSettings['patternValue']);
            }
            $interceptor = $this->objectManager->get($this->interceptorResolver->resolveInterceptorClass($singleFilterSettings['interceptor']));
            $this->filters[] = $this->objectManager->get(RequestFilter::class, $requestPattern, $interceptor);
        }
    }