1

Symfony 2 セキュリティ コンポーネントを使用しようとしていますが、IE9 に問題があります。それは私が非常に奇妙だと思った他のブラウザで動作します。Symfony バージョン 2.0.16。

コントローラーは「本の中」のようなものです。ログイン フォーム用のカスタム テンプレート ファイルがありますが、ドキュメントのテンプレート ファイルを使用しても役に立ちません。また、カスタム ルーティング パスを作成しましたが、セキュリティ構成ファイルで指定しました。これがセキュリティ構成ファイルです。そこを少し変更しましたが、すべて順調だと思います...

security:
    encoders:
        Acme\MyBundle\Entity\User:
            algorithm:        sha1
            encode_as_base64: true
            iterations:       5

    role_hierarchy:
        ROLE_CLIENT: ROLE_USER
        ROLE_MANAGER: ROLE_USER
        ROLE_ADMIN: [ROLE_USER, ROLE_MANAGER, ROLE_ALLOWED_TO_SWITCH]

    providers:
        main:
            entity: { class: Acme\MyBundle\Entity\User, property: email }

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        dev_custom:
            pattern:  ^/createUser
            security: false
        login:
            pattern:  ^/(login-custom|remind-pass)$
            security: false
        secured_area:
            pattern:    ^/
            form_login:
                login_path: /login-custom
                check_path: /login-check-custom
            logout:
                path:   /logout-custom
                target: /

    access_control:
        - { path: ^/, roles: ROLE_USER }

IE9 でフォームを送信した後、データを検証せずにフォームにリダイレクトされます。ログファイルで見つけた:

[2012-08-14 02:51:00] security.INFO: 認証要求に失敗しました: セッションがタイムアウトしたか、Cookie を無効にしました。[] [] [2012-08-14 02:51:00] security.DEBUG: /login[] [] へのリダイレクト

もちろん、Cookieを有効にしています。

つまり、コンソールに「HTML1113 goin to quirks mode」という警告があります。私は何を間違えましたか?

4

2 に答える 2

0

ここで答えを見つけました: つまり、複雑なサブドメインCookieの問題

つまり、サブドメインに「undesrcore」が含まれている場合、Cookie を黙ってドロップします。セキュリティ コンポーネントの構成が間違っているか、テンプレートやヘッダーに問題があると思っていましたが、そうではありませんでした。

于 2012-08-18T13:40:01.947 に答える