0

Symfony2のRemember Meログインに機能を実装しようとしています。

私はこの設定ファイルを持っていますsecurity.yml

security:

    firewalls:
        frontend:
            pattern:  ^/
            anonymous: ~
            form_login:
                login_path: /login
                check_path: /login_check
                default_target_path: /index
                success_handler: authentication_handler
            logout:
                path: /logout
                target: /login
                success_handler: authentication_handler
            security: true
            remember_me:
                key:      "%secret%"
                lifetime: 120
                path:     /
            access_denied_handler: accessdenied_handler
          #primero deben de ir los usuarios anonimos si no se entra en loop redirect
    access_control:
        - { path: /login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/js, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin, roles: ROLE_A }
        - { path: ^/nuevoinforme, roles: ROLE_M }
        - { path: ^/, roles: IS_AUTHENTICATED_REMEMBERED }

    providers:
        user_db:
            entity: { class: mio\mioBundle\Entity\Empleado, property: username }
    role_hierarchy:
        ROLE_M: ROLE_U
        ROLE_A: ROLE_U

    encoders:
        mio\mioBundle\Entity\Empleado: { algorithm: sha1 }
        Symfony\Component\Security\Core\User\User: plaintext

ログインすると、Cookie がクライアントに適切に保存されます。ただし、120 秒後、別の URL にアクセスしようとすると、クライアントがログインしていると見なされますが、ログアウトされると予想されるため、クライアントが にリダイレクトされると予想され/loginます。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

を に設定するremember_me lifetime120、Cookie は 2 分以内に期限切れになります。

有効期間の値は 1 日より大きく設定する必要があります。

security:
    firewalls:
        frontend:
            remember_me:
                lifetime: 120 # this value should be greater than 120 seconds

私が話していることがわかるように、残りのパラメーターを取り除きました。

于 2013-03-19T16:53:03.147 に答える