2013-05-29 5 views
3

기억할만한 모듈에 문제가 있습니다. 모든 설정이 올바르게 구현되었습니다. 추가 : 내 사용자 모델에 기억 가능하며 remember_created_at를 users 테이블에 추가하고 로그인 페이지에 remember_me 확인란을 추가했습니다.Devise와 관련된 문제 기억할만한 점 - 브라우저에서 자동으로 로그 아웃 할 수 없음

사용자가 나 기억하기 확인란을 선택하지 않고 로그인하면 쿠키가 만들어지고 유효 기간이 만료되며 remember_created_at 필드가 null로 설정되어 있는지 확인할 수 있습니다. 사용자가 확인란을 선택하면 타임 스탬프가 remember_created_at 필드에 저장되고 쿠키의 만료 날짜가 기본 2 주로 설정됩니다.

그래서 문제가 나는 데 :

  1. 나는 나에게 확인란을 기억 확인 및 로그인, 브라우저를 닫고 난 여전히 로그인하고 응용 프로그램을 다시하지 않는 경우 ISN을 '. 사용자가 브라우저를 닫았을 때 세션이 파괴되었다는 것을 기억하지 않으려는 생각? 아니면 내가 이것을 오해하고 있습니까?

  2. 테스트 목적으로 : remember_for 옵션을 1.minute으로 변경했습니다. 그래서 로그인하기 전에 remember me 박스를 체크하고 쿠키 만료 날짜가 맞는지 확인하고 타임 스탬프가 remember_created_at에 저장되었습니다. 나는 브라우저를 닫고 약 2 분을 기다렸다. 나는 브라우저를 다시 열었고 여전히 로그인했다. 나는 뭔가를 놓쳤는가 아니면 기억할만한 모듈을 정확하게 이해하지 못하고 있는가?

감사합니다.

+0

나는 remember_created_at 열에 저장된 타임 스탬프를 더보고 있습니다. 타임 스탬프는 UTC로 저장되므로이 예제에서는 2013-05-29 14 : 56 : 10.277이지만 New England에 있기 때문에 시간은 10:56입니다. 앱을 실행하는 서버는 텍사스에 있으며 중앙 시간입니다. 나는 devise가 이것을 처리한다고 가정하고 있습니다 (UTC로 변환 중). 또는 어쩌면 이것이 내가 기억할만한 문제가있는 이유일까요? – ggrillone

+0

'config/initializers/devise.rb'에서'remember_for' 옵션을 어디에서 변경하고 있습니까? 그렇다면 구성을 적용하려면 레일즈 서버를 다시 시작해야합니다. –

+0

네,'config/initializers/devise.rb'에': remember_for'를 설정했습니다. 그리고 예. 서버를 여러 번 다시 시작했습니다. – ggrillone

답변

2

그래서 문제는 저의 보석 보석이 아니 었습니다. 테스트 할 때 전체 브라우저가 아니라 브라우저 탭을 닫았습니다.

10

"시작 중"옵션 - "중단 한 부분에서 계속하기"옵션을 선택하면 브라우저가 종료 된 후 Chrome에서 세션 쿠키가 만료되지 않는다는 사실을 알게 될 때까지 Devise Rememberable과 동일한 문제가있었습니다. 설정에서 사용할 수 있습니다.

+0

Chrome의 기본 동작이 저에게 중요한 문제였습니다. FF로 테스트하면 Devise가 의도 한대로 작동하고 있음을 확인했습니다. 일반적으로 Chrome의 Incongito 창을 사용하여 세션을 테스트하지만 Devise가 나를 기억하지 못하는지 확인하는 데는 분명히 효과가 없습니다. –

+0

Chrome에서 동일한 문제가 있습니다. 이전에이 문제를 파악하기 위해이 시간을 보냈 으면 좋았을 텐데 아웃. – user4584963