-1

これは私の security.yml ファイルです

firewalls:
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
            login_path: project_frontend_main_index
        logout: 
            path: project_frontend_main_logout
            anonymous: true

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

私の質問は、ログアウトに関する問題です。メインコントローラーのログアウト機能にアクセスできません。「ログアウト」をクリックするとこのエラーが発生します。セキュリティ ファイアウォールの設定でログアウトを有効にする必要があります。

4

2 に答える 2

0

これをあなたの上に追加してみてくださいaccess_control

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

targetまた、logout(ユーザーがリダイレクトされる場所)を追加する必要があります。

logout: 
    path: project_frontend_main_logout
    target: / #or a specific public route

これでうまくいかない場合は、ここにある Sonata プロジェクトのデフォルト設定を使用してください。

security:
    providers:
        fos_userbundle:
            id: fos_user.user_manager

    firewalls:
        main:
            pattern:      .*
            form-login:
                provider:       fos_userbundle
                login_path:     /login
                use_forward:    false
                check_path:     /login_check
                failure_path:   null
            logout:       true
            anonymous:    true
于 2015-05-18T12:28:07.093 に答える
0

anonymous : true を削除するか、少なくとも false にします。これで問題が解決します。

于 2015-05-18T12:11:19.793 に答える