※ 引述《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重新作出来?
还是其他什么意思?
: : 在此先谢谢各位的回复。
: :