Symfony2返回公共区域时丢失身份验证

时间:2013-05-26 23:04:46

标签: security symfony firewall provider

我已为我的网站实施了security.yml文件。它使用两个不同的提供程序,用于两个不同的登录表单。 当我在一个认证区域进行身份验证并进入公共区域(匿名区域)时,我丢失了我的身份信息,并且我得到了“您未经过身份验证”。在调试栏中。

网站地图是这样的:

  • Home,常见问题......(匿名)
  • 专业人士/经理(Auth with professional_security provider)
  • 用户(与customer_security提供商签名)

    security:
     encoders:
       Project\SiteBundle\Entity\User: 
           algorithm:        sha512
           encode_as_base64: true
           iterations:       1            
       Project\SiteBundle\Entity\Professional: 
           algorithm:        sha512
           encode_as_base64: true
           iterations:       1
    providers:
      customer_security:
        entity: 
          class: Project\SiteBundle\Entity\User
          property: login
      professional_security:
        entity: 
          class: Project\SiteBundle\Entity\Professional
          property: login 
    
    firewalls:
        dev:
          pattern:  ^/(_(profiler|wdt)|css|images|js)/
          security: true
          anonymous: ~
    
        Public_area:
         pattern: ^/
         anonymous: ~
    
        Professional:
          pattern: ^/professional/.*
          anonymous: ~
          provider: professional_security
          form_login:
              login_path: /professional/login
              check_path: /professional/login_check
              success_handler: authentication_handler
          logout:
              path: /professional/logout
              target: /professional/login
          security: true
    
        Customer:
          pattern: ^/user/.*
          provider: customer_security
          form_login:
            login_path: /user/login
            check_path: /user/login_check
            success_handler: authentication_handler
          logout:
            path: /user/logout
            target: /user/login
          security: true
    
     access_control:
      - { path: ^/professional/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
      - { path: ^/user/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
      - { path: ^/user/register, roles: IS_AUTHENTICATED_ANONYMOUSLY}
      - { path: ^/professional/.*, roles: IS_AUTHENTIFICATED_FULLY}
      - { path: ^/professional/beautician/.*, roles: ROLE_BEAUTICIAN}
      - { path: ^/professional/manager/.*, roles: ROLE_MANAGER}
      - { path: /user/.*, roles: ROLE_CUSTOMER}
      - { path: ^/faq, roles: IS_AUTHENTICATED_ANONYMOUSLY}
    

0 个答案:

没有答案
相关问题