如何保护FOSUserBundle的注销路线

时间:2014-12-08 09:28:02

标签: security symfony fosuserbundle

对于我的应用程序,我需要停用某些用户对FOSUserBundle的注销路径的访问权限,但是当我添加访问控制时,它无论如何都不起作用。

有人可以帮我这个功能吗?

编辑:我的security.yml

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512
 
    role_hierarchy:
        ROLE_PRO_AGENT: ROLE_PRO_USER
        ROLE_PRO_ADMIN: ROLE_PRO_AGENT
        ROLE_ADMIN: ROLE_USER
        ROLE_API: ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_API, ROLE_USER, ROLE_SONATA_ADMIN, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH, ROLE_PRO_ADMIN]
 
    providers:
        fos_userbundle:
            id: fos_user.user_provider.username
 
    firewalls:
        main:
            pattern: /.*
            form_login:
                provider: fos_userbundle
                login_path:     fos_user_security_login
                check_path:     fos_user_security_check
                default_target_path: espace_perso
                always_use_default_target_path: false
                failure_path: fos_user_security_login
            logout:
                path: fos_user_security_logout
                target: fos_user_security_login
            anonymous: true
             
    access_control:
        - { path: ^/%locale%/logout, roles: [ ROLE_USER_DEFINITIF ] }
        - { path: ^/_wdt, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/_profiler, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/test/.*, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/%locale%/essai, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/%locale%/create-user-temp, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/%locale%/delete-user-temp, role: ROLE_ADMIN, ip: 127.0.0.1 }
        - { path: ^/%locale%/login, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/%locale%/login_check, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/%locale%/register, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/%locale%/resetting, roles: [ IS_AUTHENTICATED_ANONYMOUSLY, ROLE_USER_DEFINITIF ] }
        - { path: ^/coulisse, roles: [ ROLE_ADMIN, ROLE_SONATA_ADMIN ] }
        - { path: ^/api, roles: [ ROLE_API ] }
        - { path: ^/, role: ROLE_USER_DEFINITIF }  

0 个答案:

没有答案