作者johnlinvc (阿翔)
看板Ruby
标题Re: [问题] rails tutorial某段看不太懂
时间Fri Dec 6 15:52:18 2013
※ 引述《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)
1F:→ danny8376:好吧 还有CookieStorge... 虽然这东西... 12/06 17:41