API を FOSUserBundle で保護したい (完全な例を含むドキュメントがないため、FOSOAuthServerBundle の使用を避けたい)。
API を安全にするために、次のようにファイアウォールを作成しました。
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api_doc:
pattern: ^/api/doc
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
logout: true
anonymous: true
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: [ IS_AUTHENTICATED_FULLY ] }
- { path: ^/admin/, roles: [ROLE_SUPER_ADMIN]}
これは素晴らしい!ただし、これには、広告のリストなどを表示できるように、Web サイトを使用する前にすべてを接続する必要があります (GET クエリでも、セキュリティのために接続が必要です) 。
克服するために、すべてのユーザーを限られた権限を持つ「デフォルト」ユーザーに接続することを考えています(投稿せずに単純なクエリを実行するのに十分です)。
そうすることは可能ですか?
ご協力いただきありがとうございます。
PS: FOSUserBundle と FOSOAuthServerBundle を連携させることができました。実際、クライアントを作成し、コマンド ラインからアクセス トークンを取得することができました。しかし、security.yml
アクセストークンを返すログインページを取得するように適切に構成できませんでした。