作者danny8376 (钓到一只猴子@_@)
看板Ruby
标题Re: [问题] rails tutorial某段看不太懂
时间Fri Dec 6 14:24:00 2013
※ 引述《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
: 在此先谢谢各位的回覆。
: ----
: 本篇文章本来先发在ruby-taiwan.org,但是它怪怪的,无法显示我的贴文,
: 所以在这里重新问一次。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.216.102
1F:推 rexkimta:哈哈,原来我从头到尾都搞错。 12/06 18:49
2F:→ markmcm:所以rails後来有改变预设吗?哪里又可以设定这种长久度呢 12/15 16:40