Tôi đang theo dõi http://symfony.com/doc/current/cookbook/security/voters.html và cố gắng thực hiện một cử tri tùy chỉnh từ chối truy cập cho các yêu cầu không chứa khóa API hợp lệ và thông báo trong tiêu đề (bị ảnh hưởng bởi http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html - Tôi không xây dựng nhà cung cấp xác thực vì tôi cần sử dụng nhà cung cấp FOSUserBundle cho cùng một yêu cầu).Làm cách nào để đưa nhà cung cấp người dùng trong bộ nhớ vào một dịch vụ?
Tôi muốn lưu trữ khóa/bí mật api của mình trong nhà cung cấp người dùng trong bộ nhớ để bắt đầu và có khả năng di chuyển sang nhà cung cấp mongodb tùy chỉnh sau này. Vì vậy, tôi cần một cách để đưa nhà cung cấp người dùng vào cử tri của tôi. Tôi đã tiêm container dịch vụ, nhưng các nhà cung cấp người dùng có thể được truy cập từ nó không?
định nghĩa vụ của tôi:
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 }
Vì vậy, câu hỏi của tôi là, làm thế nào để tôi tiêm các nhà cung cấp trong bộ nhớ? Ví dụ WSSE trong sách dạy nấu ăn dường như sử dụng một nhà máy cung cấp auth để thay thế chuỗi 'security.providers.in_memory', nhưng khi tôi chỉ sử dụng một cử tri, điều này có cần thiết không? Nếu nó là cần thiết, nhà máy của tôi sẽ trông như thế nào?
Cả hai câu trả lời tương tự vì vậy tôi đã chấp nhận là người đầu tiên, nhưng thanks for the info thêm về việc sử dụng một bí danh. –