2014-04-18 1 views
0

Ruby on Rails를 처음 접했고 사용자 로그인 인증에 관한 온라인 자습서를 여러 번 보았습니다. Rails의 쿠키 객체에 대해 혼란스러워했습니다.Ruby on Rails : 쿠키는 어떻게 작동합니까?

사용자 성공적으로 로그인이, 내가 토큰 저장하기 위해 쿠키를 사용하는 객체 말했다 때 : 위의 코드에서

def sign_in(user) 
remember_token = User.new_remember_token 
cookies.permanent[:remember_token] = remember_token 
user.update_attribute(:remember_token, User.hash(remember_token)) 
self.current_user = user 
end 

을 매번 사용자 로그인 것 같아, 우리는 쿠키 객체의 토큰을 저장합니다 "remember_token"기호가 붙어 있습니다. 같은 시간에 여러 사용자가 로그인 한 경우 토큰 값을 덮어 쓰게 될지 궁금합니다.

내 혼란은 쿠키 객체가 토큰 값을 보유하는 싱글 톤인 것처럼 보입니다 (내가 틀렸다면 수정하십시오). 쿠키 개체 작동 방식이 무엇인지 이해하는 데 도움을주십시오.

감사

답변

1

쿠키 객체가 단일 객체가 아닌 - 현재 요청에 대한 컨트롤러 대표단이.

각 http 요청에는 초기에 브라우저에서 보낸 모든 쿠키가 포함 된 자체 쿠키 개체가 있습니다. 모든 변경 사항은 set-cookie 헤더를 통해 다시 전송됩니다.

일반적으로 http 쿠키에서 읽을 수 있습니다 (예 : RFC6265)