2013-03-19 2 views
0

Symfony2에서 기능을 구현하려고합니다. 로그인 정보를 기억하십시오.symfony2 로그인 기억 나

나는 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 

I 로그인, 쿠키가 클라이언트에서 제대로 저장이 구성 파일이 있습니다. 그러나 120 초 후에 다른 URL에 액세스하려고 할 때 클라이언트가 로그 아웃 될 것으로 예상되는 동안 클라이언트가 여전히 로그인 한 것으로 간주되므로 클라이언트가 /login으로 리디렉션 될 것으로 예상됩니다.

어떻게이 문제를 해결할 수 있습니까?

+0

마지막 문장을 바꾸어 질문 할 수 있습니까? 당신의 문장은 이해하기가 어렵습니다. –

+0

나는 당신이 나를 이해하기를 바랍니다. 내 영어에 대해 죄송합니다. – faisbu

+0

세션의 수명은 얼마입니까? 나는 그것이 120 초보다 길다는 것을 의심한다. 그러므로 당신은 당신의 세션 때문에 여전히 로그인되어있다. 귀하의 답변에 대해 –

답변

0

remember_me lifetime120으로 설정하면 쿠키가 2 분 내에 만료됩니다.

평생 값을 하루보다 크게 설정해야합니다.

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

나는 나머지 매개 변수를 제거하여 내가 무엇을 말하고 있는지 볼 수 있습니다.

+0

주셔서 감사합니다. 하루 이상이 되었기 때문에? 나는 쿠키를보고 있었고 나는 두 가지를 가지고있다 : 나는 그것이 2 분 만에 만료되고 다른 PHPSESSID가 생성 된 것을 기억한다. 다음 항상 PHPSESSID 걸릴 PHPSESSID 쿠키를 제거하는 방법? – faisbu

+0

쿠키를 제거하지 않으면 REMEMBERME 쿠키가 보안과 관련이있는 동안 PHPSESSID는 사용자 세션과 관련이 있습니다 (쿠키가 만료되고 사용자가 로그 아웃 한 경우). –

+0

문제는 쿠키가 만료되었지만 120 초가 지나면 로그인으로 리디렉션되지 않는다는 것입니다. 감사. – faisbu