次の security.yml があります。
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
Frontend\AccountBundle\Entity\User:
id: sha256salted_encoder
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
chain_provider:
chain:
providers: [in_memory, user_db]
in_memory:
memory:
users:
foo: { password: test, roles: ROLE_USER }
user_db:
entity: { class: Frontend\AccountBundle\Entity\User, property: email }
access_control:
- { path: ^/secarea/, roles: ROLE_USER }
ユーザーとしてログインする場合....
...ふー:
- すべてのページで foo は次のようにログインしています: foo // 緑の背景
- すべてのページで foo が認証されます
...データベースユーザーとして:
- access_control で宣言したページでのみ、db_user がログインして認証されます // 緑色の背景
- 他のページでは、ユーザーはログインしています//黄色の背景ですが、認証されていません
なぜ違いがあるのですか?
コメント: db のユーザーに役割を与える必要がありますか? デフォルトのロールを db ユーザーに設定できますか?