因爲這是該主題的第一個谷歌搜索結果之一,它沒有實際的例子,這裏有一個簡單的方法來創建自己的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