2

Symfony アプリケーションで管理者ユーザー用に別のログインを構成しようとしています。これらは私の設定です:

config.yml

 fos_user:
     db_driver: orm
     firewall_name: main
     user_class: CoreBundle\Entity\User
     service:
             user_manager: pugx_user_manager
     resetting:
             form:
                  type: APIBundle\Form\ResettingFormType

ルーティング.yml

 admin_login:
     path:  /admin/login
     defaults: { _controller: FOSUserBundle:Security:login }

 admin_check:
     path:  /admin/login_check
     defaults: { _controller: FOSUserBundle:Security:check }

 admin_logout:
     path:  /admin/logout
     defaults: { _controller: FOSUserBundle:Security:logout }

security.yml

firewalls:
   admin:
        pattern:            ^/admin
        form_login:
            provider:       fos_userbundle
            login_path:     admin_login
            check_path:     admin_check
            csrf_token_generator: security.csrf.token_manager
            default_target_path: /admin/
        logout:
            path:           /admin/logout
            target:         /admin/login
        anonymous:    true

   main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_token_generator: security.csrf.token_manager
        logout:
            target:   /login
        anonymous:    true

access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/admin/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/login_check$, role: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/admin/, role: ROLE_ADMIN }

管理パネルにログインしようとすると、http://localhost/admin/loginリダイレクトされhttp://localhost/login_checkて次のエラーが表示されます

You must configure the check path to be handled by the firewall using form_login in your security firewall configuration.

4

0 に答える 0