簡體   English   中英

使用login_check的symfony2多個防火牆錯誤

[英]symfony2 multiple firewall error with login_check

我有一個symfony 2應用,具有普通成員和管理區域,但是由於某些原因,我無法使管理區域登錄部分正常工作。 在此處閱讀有關主題的所有問題,然后嘗試一下,但是沒有一個對我有用。 我認為最初的問題是檢查路由不在防火牆后面,因此symfony安全性無法識別它。

我的security.yml

security:
encoders:
    FOS\UserBundle\Model\UserInterface: sha512
    Symfony\Component\Security\Core\User\User: sha512

firewalls:
    alogin:
        pattern:  ^/admin/login$
        security: false
    main:
        pattern:    ^/admin
        provider: in_memory
        form_login:
            check_path: /admin/login_check
            login_path: /admin/login
            default_target_path: /admin/list
        logout:
            path:   /admin/logout
            target: /admin
    main:
        pattern:    ^/(?!admin)
        form_login:
            provider: fos_userbundle
            login_path: /
            failure_handler: public.failed_login_handler
            success_handler: public.success_login_handler
        logout:       true
        anonymous:    true


providers:
    fos_userbundle:
        id: fos_user.user_provider.username_email
    in_memory:
        memory:
            users:
                ryan:  { password: ryanpass, roles: 'ROLE_ADMIN' }

role_hierarchy:
    ROLE_VIP:         ROLE_USER
    ROLE_ADMIN:       ROLE_VIP
    ROLE_SUPER_ADMIN: ROLE_ADMIN

access_control:
    - { path: ^/$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/.*, role: ROLE_ADMIN }
    - { path: ^/admin, role: ROLE_ADMIN }
    - { path: ^/.*, role: ROLE_USER }

沒有主防火牆,它就可以正常工作了,我在/ admin / login_check中得到了404。

問題是您有2個具有相同名稱main防火牆。 防火牆必須使用唯一的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM