私はhttp://symfony.com/doc/current/cookbook/security/voters.htmlをフォローしており、有効なAPIキーとダイジェストを含まないリクエストのアクセスを拒否するカスタム投票者を作成しようとしています(http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.htmlの影響を受けます - 私は認証プロバイダを構築していません同じ要求に対してFOSUserBundleプロバイダを使用してください)。インメモリユーザプロバイダをサービスに挿入するにはどうすればよいですか?
メモリ内のユーザープロバイダに自分のapiキー/秘密を保存しておき、これを後でカスタムmongodbプロバイダに移行する可能性があります。だから私はユーザーのプロバイダを私の有権者に注入する方法が必要です。私はすでにサービスコンテナを注入しましたが、ユーザプロバイダはそこからアクセスできますか?
マイサービス定義:
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 }
だから私の質問は、私は、インメモリ・プロバイダーを注入しないか、でしょうか?調理冊子のWSSEの例は、 'security.providers.in_memory'という文字列を置換するための認証プロバイダファクトリを使用しているようですが、私は投票者を使用しているので、これは必要ですか?必要な場合、私の工場はどのように見えますか?
両方の回答を宣言されているので、私は最初のものを受け入れてきた類似していたが、エイリアスを使用して上の余分な情報をお寄せいただきありがとうございます。 –