0

次の 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 ユーザーに設定できますか?

4

1 に答える 1

1

ファイアウォールを使用していますか?

私はしばらく前にこの問題に出くわし、ここに行き着きました:

app.user は保護されていない領域からアクセスできません

于 2013-01-10T14:30:34.393 に答える