激活注销安全配置

Activate logout security configuration

我遇到了这个问题,我更改了防火墙中注销配置的位置,但总是出现相同的响应,我该怎么办?

我收到这个错误:

You must activate the logout in your security firewall configuration

这是我的代码

security:
    firewalls:
        oauth_authorize:
            pattern:    ^/oauth/v2/auth
            form_login:
                provider: fos_userbundle
                check_path: _security_check
                login_path: _demo_login
        oauth_token:
            pattern:    ^/oauth/v2/token
            security:   false
        api:
            pattern:    ^/api
            fos_oauth:  true
            stateless:  true
            anonymous:  false # can be omitted as its default value
        login:
            pattern:  ^/secured/login$
            security: false
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
                always_use_default_target_path: true
                default_target_path: /profile
        logout:
            path: /user/logout
            anonymous: true
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        admin:
            pattern:            /admin(.*)
            context:            user
            form_login:
                provider:       fos_userbundle
                login_path:     /admin/login
                use_forward:    false
                check_path:     /admin/login_check
                failure_path:   null
            logout:
                path:           /admin/logout
            anonymous:          true
        main:
            pattern:             .*
            context:             user
            form_login:
                provider:       fos_userbundle
                login_path:     /login
                use_forward:    false
                check_path:     /login_check
                failure_path:   null
            logout:             true
            anonymous:          true

也许试试这个:

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

main:
    pattern: ^/
    security: true
    switch_user: true
    form_login:
        provider: fos_userbundle
        csrf_provider: form.csrf_provider
        success_handler: fo_security.handler.login_success
        default_target_path: /
    anonymous:    true
    logout:
        path:   /logout
        target: /login
        invalidate_session: true

如果您不使用 FOSUserBundle,请不要注意此参数。 这个例子尝试了 3 件事:

  • 先声明开发防火墙
  • 以不同方式声明注销并使会话无效
  • 当您注销时,您会立即重定向到登录页面

我找到了这个问题的解决方案并且有效,问题出在主要配置上

 main:      
    pattern: ^/
    security: true
    switch_user: true
    form_login:
        provider: fos_userbundle
        csrf_provider: form.csrf_provider
        default_target_path: /profile
        anonymous:    true
    logout:
        path:   /logout
        target: /login
        invalidate_session: true