Estoy siguiendo http://symfony.com/doc/current/cookbook/security/voters.html y tratando de hacer un votante personalizado que deniega el acceso a las solicitudes que no contienen una clave API válida y resumen en el encabezado (influenciado por http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html - No estoy creando un proveedor de autenticación porque necesito use el proveedor FOSUserBundle para la misma solicitud).¿Cómo inyectar el proveedor de usuario en memoria en un servicio?
Me gustaría almacenar mis claves/secretos api en el proveedor de usuarios en memoria para comenzar y probablemente migrar esto a un proveedor mongodb personalizado en una fecha posterior. Entonces necesito una forma de inyectar al proveedor del usuario en mi votante. Ya he inyectado el contenedor de servicio, pero ¿se puede acceder a los proveedores de usuario desde allí?
Mi definición de servicio:
services:
security.access.api_client_voter:
class: Acme\RestBundle\Security\Authorization\Voter\ApiClientVoter
arguments: [@service_container, %kernel.cache_dir%/security/nonces]
public: false
tags:
- { name: monolog.logger, channel: authentication }
- { name: security.voter }
Así que mi pregunta es, ¿Cómo me inyecto el proveedor dentro de la memoria? El ejemplo de WSSE en el libro de cocina parece utilizar una fábrica de proveedor de autenticación para reemplazar la cadena 'security.providers.in_memory', pero como solo estoy usando un votante, ¿es esto necesario? Si es necesario, ¿cómo se vería mi fábrica?
Ambas respuestas fueron similares así que he aceptado la primera, pero gracias por la información adicional sobre el uso de un alias. –