2015-03-02 33 views
0

它的工作原理以及在dev驗證,但在prod它驗證了我,並重定向到登錄:不能在PROD環境(Symfony2的)

[2015-03-02 15:01:48] request.INFO: Matched route "admin_auth" (parameters: "_controller": "DEV\AdminBundle\Controller\AuthController::loginAction", "_route": "admin_auth") [] [] 
[2015-03-02 15:01:49] request.INFO: Matched route "admin_login_check" (parameters: "_route": "admin_login_check") [] [] 
[2015-03-02 15:01:49] security.INFO: User "[email protected]" has been authenticated successfully [] [] 
[2015-03-02 15:01:49] security.DEBUG: Write SecurityContext in the session [] [] 
[2015-03-02 15:01:49] request.INFO: Matched route "admin_index" (parameters: "_controller": "DEV\AdminBundle\Controller\DefaultController::indexAction", "_route": "admin_index") [] [] 
[2015-03-02 15:01:49] security.INFO: Authentication exception occurred; redirecting to authentication entry point (A Token was not found in the SecurityContext.) [] [] 
[2015-03-02 15:01:49] security.DEBUG: Calling Authentication entry point [] [] 
[2015-03-02 15:01:49] security.DEBUG: Write SecurityContext in the session [] [] 
[2015-03-02 15:01:49] request.INFO: Matched route "admin_auth" (parameters: "_controller": "DEV\AdminBundle\Controller\AuthController::loginAction", "_route": "admin_auth") [] [] 

的錯誤是在這裏,我想,我不知道如何對付它:

[2015-03-02 15:01:49] security.INFO: Authentication exception occurred; redirecting to authentication entry point (A Token was not found in the SecurityContext.) [] [] 

我security.yml

security: 
    encoders: 
     Symfony\Component\Security\Core\User\User: plaintext 
     DEV\MainBundle\Model\User: 
      algorithm:  sha1 
      iterations:  1 
      encode_as_base64: false 

    role_hierarchy: 
     ROLE_ADMIN: [ROLE_ADMIN, ROLE_USER] 
     ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 

    providers: 
     user_db: 
      propel: 
       class: DEV\MainBundle\Model\User 
       property: email 

    firewalls: 
     dev: 
      pattern: ^/(_(profiler|wdt)|css|images|js)/ 
      security: false 

     login: 
      pattern: ^/admin/auth$ 
      security: false 
      anonymous: true 

     admin: 
      pattern: ^/(admin|api) 
      form_login: 
       login_path: admin_auth 
       check_path: admin_login_check 
       default_target_path: admin_index 
      provider: user_db 
      logout: 
       path: admin_logout 
       target: admin_auth 
      switch_user: true 

    access_control: 
     - { path: ^/admin, roles: [ROLE_ADMIN] } 
+0

可能是在生產的用戶不具有的作用'ROLE_ADMIN' – Broncha 2015-03-02 12:30:59

+0

它。這是相同的數據庫,我測試我的本地主機上的兩個環境。 和授權用戶,因爲它可以在日誌中可以看出: 'security.INFO:用戶「[email protected]」已驗證成功[] []' 但隨後重定向到再次 – Alexdevid 2015-03-02 12:34:00

+0

登錄你清除了緩存(特別是產品)? :) – 2015-03-02 13:58:23

回答

0

也許這行: ROLE_ADMIN:[ROLE_ADMIN,ROLE_USER]

我不是很有經驗的symfony的,但也許:

ROLE_ADMIN:  ROLE_USER