因为这是该主题的第一个谷歌搜索结果之一,它没有实际的例子,这里有一个简单的方法来创建自己的SESSION_ID。我们依靠概率和密码安全的随机性来保持我们的ID独一无二。
这是我放入我的饼干的唯一东西。我将所有其他数据保留在后端,以防止任何人篡改它。
require 'sinatra'
require 'securerandom'
# The configuration here is just an example. Use your own secret, etc.
use Rack::Session::Cookie, :key => 'SESSION_ID',
:expire_after => 60*60*24, # == one day
:secret => 'This one time, at band camp...'
before do # Before every request, make sure they get assigned an ID.
session[:id] ||= SecureRandom.uuid
end
get '/' do # Show off your new ID.
"Your ID is #{session[:id]}"
end
那不是我问。我知道如何访问会话数据。我正在寻找在会议期间保持独特的独特价值。例如,如果我有一个Java servlet,那么我会使用JSESSIONID来达到这个目的。我需要一个相当于JSESSIONID的Sinatra。 – 2011-04-12 00:25:40
@Dave,我重写了我的答案。 – Andy 2011-04-12 04:02:48
-JESSESSID通常通过cookie,但你有一般想法。谢谢,你或多或少地证实了我已经怀疑的事情。我决定使用UUID创建自己的标识符并将其存储在会话中。 – 2011-04-12 14:21:12