Re: [問題] rails tutorial某段看不太懂

看板Ruby作者 (阿翔)時間11年前 (2013/12/06 15:52), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《danny8376 (釣到一隻猴子@_@)》之銘言: : ※ 引述《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 這倒不一定 根據http://guides.rubyonrails.org/action_controller_overview.html#session 預設的 ActionDispatch::Session::CookieStore 就是把所有的data 簽證過後存在cookie 裡 所以有的時候會遇到資料太多超過4K 大小的問題 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.137.31.6 ※ 編輯: johnlinvc 來自: 220.137.31.6 (12/06 15:52)

12/06 17:41, , 1F
好吧 還有CookieStorge... 雖然這東西...
12/06 17:41, 1F
文章代碼(AID): #1IeO8s2z (Ruby)
文章代碼(AID): #1IeO8s2z (Ruby)