作者rexkimta (冷杉林)
看板Ruby
标题Re: [问题] rails tutorial某段看不太懂
时间Fri Dec 6 18:57:56 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
这里的意思是说rails tutorial里的作法其实只是把SESSION_ID重新作出来?
还是其他什麽意思?
: : 在此先谢谢各位的回覆。
: : ----
: : 本篇文章本来先发在ruby-taiwan.org,但是它怪怪的,无法显示我的贴文,
: : 所以在这里重新问一次。
另外我还有个问题,
为什麽rails tutorial不选择设定session为「永不过期」(也就是二十年)
而要采用这麽麻烦的方法?
又要自己加密又要新增资料库栏位等等……
还是说session无法作这样的设定?
--
★ 辰星! 五 欢迎加入五行战斗牌的奇幻世界!
★ ★ 太白! 岁星! 星 官方网站:(内有讨论区)
★★ 镇星!荧惑! 连 http://goo.gl/jC2sp
「当苍茫天穹中 那并非最闪亮 珠 PTT台大社版:NTU-CFE
但却最纯净的五颗星 连成一线时,!
天与地的共鸣 将永不止歇,其力量可至无限。」 ψrexkimta
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.193.23
1F:推 SansWord:session 设定永不过期,是要server硬碟被塞暴吗? 12/07 02:38
2F:→ SansWord:cookie 永不过期:该 user 电脑被放一个档案 12/07 02:39
3F:→ SansWord:session 永不过期:每个user都在server放一个档案 12/07 02:39