1

私の Web プロジェクト (symfony2 PR5 に基づく) を symfony2 PR7 に適応させます。セキュリティ バンドルを除いて、この移行ではすべてが明確です。これが私のセキュリティ設定です:

security:
    encoders:
        Application\PermissionsBundle\Entity\Stuff: sha1
    providers:
        main:
            entity: { class: PermissionsBundle:Stuff, property: username}
    firewalls:
        main:
            pattern: .*
            form_login:
                check_path:   /login-check-admin
                login_path:   /login-admin
                failure_path: /login-admin
            logout:     true
            anonymous: true 
        backend:
            pattern: /admin.*
            form_login:
                check_path: /login-check-admin
                login_path: /login-admin
            logout: true
            security: true
            anonymous: false
    access_control:
        - { path: /admin.*, role: ROLE_ADMIN }

ルーティング構成:

_security_login:
    pattern: /login-admin
    defaults: { _controller: PermissionsBundle:Security:login }

_security_check:
    pattern: /login-check-admin

_security_logout:
    pattern: /logout-admin

_security_status:
    pattern: /sec_status
    defaults: { _controller: PermissionsBundle:Security:status }

_security_get_username:
    pattern: /security/get/username
    defaults: { _controller: PermissionsBundle:Security:getUserName }

認証しようとすると、404 fpr ログイン チェックが発生します

誰でもこの問題で私を助けてもらえますか? このコードは PR5 では正常に機能しますが、PR7 では機能しません。symfony の公式ドキュメントはまだ変更されていません。多分私は何かを逃していますか?

4

1 に答える 1

1

解決策は簡単です。logout および login_check ルーティング パターンをカスタマイズすることはできません。つまり、security.yml ファイルは次のようになります。

form_login:
    check_path:   /login_check
    login_path:   /login

routing.yml ファイルは次のようになります。

_security_check:
    pattern: /login_check
_security_logout:
    pattern: /logout

これらは私にとって完璧に機能します。

于 2011-03-26T17:27:55.817 に答える