0

非常に基本的な方法で FOSuserBundle を使用して、単純なアーキテクチャで Web サイトを構築しています。

  • ユーザーが認証されるパブリックエリア
  • ユーザーを認証する必要がある保護領域
  • ログインページ

認証は公開ページで正常に機能します。ただし、ユーザーが保護されたページに移動すると、認証が失われ (匿名)、ユーザーはログイン ページにリダイレクトされます。それでも、ユーザーは公開ページに対して認証されます。

ファイアウォールの設定は次のとおりです。

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

    login:
       pattern:   ^/(login$|register|resetting)
       anonymous: true

    secured_area:
        pattern: ^(/[A-Za-z_]*/[A-Za-z0-9-]*/[A-Za-z0-9-]*/.*)|(/[A-Za-z_]*/NT.*)
        form_login:
            provider:    fos_userbundle
            csrf_provider: form.csrf_provider
            remember_me: true
            use_referer: true
        remember_me:
            key:         %secret%
        anonymous:       false
        logout:          true

    main:
        pattern: ^/
        form_login:
            provider:    fos_userbundle
            csrf_provider: form.csrf_provider
            remember_me: true
            use_referer: true
        remember_me:
            key:         %secret%
        anonymous:       true
        logout:          true

ありがとう :)

4

1 に答える 1

0

ファイアウォールが 2 つある場合は、それぞれのファイアウォールを介して認証するようにユーザーに依頼する必要があります。メインに固執して、安全なページにアクセスするために何らかの役割を要求することはできませんか? 追加するだけで、secured_area ファイアウォールを削除して、たとえば次のように追加できます。

access_control:     
    - { path: ^/secured, role: ROLE_ADMIN }
于 2012-10-04T09:15:10.127 に答える