2013-01-09 137 views
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用户设置默认角色吗?

回答