※ 引述《rexkimta (冷杉林)》之銘言:
: 就是這一段
: (http://ruby.railstutorial.org/chapters/sign-in-sign-out#sec-remember_me)
: 裡面提到,要記錄使用者的登入狀態,最直覺的方法是直接把user的id存在session裡:
: ``` ruby
: session[:remember_token] = user.id
: ```
: 需要的時候就可以取得
: ``` ruby
: User.find(session[:remember_token])
: ```
: 但它也說了,這個方法只能持續到使用者關閉瀏覽器之前,但是我用我另一個採用這個方
: 法的程式測試過,關掉瀏覽器甚至是重開伺服器都沒有影響使用者的登入狀態。是不是我
: 誤解他的意思了?
這邊是說預設狀況
實際上要看你SESSION_ID在瀏覽器端cookie怎儲存的
如果這ID存成永久(rails裡的永久cookie預設是20年)
那這些SESSION自然也永久存在
: 另外,rails處理session的方式是把資料以cookie的方式存在使用者端,在伺服器端只有
: 存一個session id以作對照之用對嗎?
這哪會叫session...
所有網頁系統的SESSION做法都一樣
透過在cookie紀錄一個(通常瀏覽器關了就清掉的)SESSION_ID資料
然後在Server端上 用這個SESSION_ID去識別倒底是哪堆SESSION
而說一下...
範例裡面所給的:remember_token從頭到尾都是SESSION_ID
: 在此先謝謝各位的回覆。
: