Can anybody elaborate on why the DenyAccessListener uses its own expression language instance and not the one of Symfony Security?
We're using https://github.com/api-platform/core/blob/master/src/Bridge/Symfony/Bundle/Resources/config/security_expression_language.xml#L7 instead of Symfony's security.expression_language.
I don't see why this is done. In Symfony I can easily add new expression languages by tagging the providers as security.expression_language_provider which of course do not end up in our DenyAccessListener.
Why would we want two different instances? Both are related to security, aren't they?