2

symfony プロジェクトで fosUserBundle を実装しようとしています。

構成済みのバンドルを正常にインストールしました。

しかし、今、ログインすると、次のエラーメッセージが表示されます。

セキュリティ ファイアウォール構成で form_login を使用して、チェック パスがファイアウォールによって処理されるように構成する必要があります。

なぜそれが起こっているのですか?その pb はどこで探すべきですか?

ありがとうございます。セキュリティ ファイルの下にあります。

security:
    encoders:
        "FOS\UserBundle\Model\UserInterface": sha512

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        fos_userbundle:
            id: fos_user.user_manager
        in_memory:
            users:
                user:  { password: userpass, roles: [ 'ROLE_USER' ] }
                admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }

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

        # Firewall pour les pages de connexion, inscription, et récupération de mot de passe
        login:
            pattern:   ^/(login$|register|resetting)  # Les adresses de ces pages sont login, register et resetting
            anonymous: true                           # On autorise bien évidemment les anonymes sur ces pages !

        admin:
            switch_user:        true
            context:            user
            pattern:            /admin(.*)
            form_login:
                provider:       fos_userbundle
                login_path:     /login
                use_forward:    false
                check_path:     /admin/login_check
                failure_path:   null
                use_referer:    true
            logout:
                path:           /admin/logout
                target:         /login_path
    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

残りのファイルについては、公式ドキュメントと非常によく似ています

4

1 に答える 1

0

「access_control」セクションの最初の行を削除しようとしましたか? ログインファイアウォールで既に anonymous:true を指定しているためです。

于 2012-07-31T21:40:31.550 に答える