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 回答