是否有一个唯一的标识符,我可以在不是会话[:session_id]的rails中使用?

时间:2012-10-04 22:55:31

标签: ruby-on-rails

我正在尝试跟踪kiss_metrics标识符,并希望在用户访问网站的整个过程中保持相同的unique_identifier,即使在调用reset_session之后也是如此。

cookie_id这样的东西,从登录到登出以及它们在网站上的整个时间是一样的吗?

1 个答案:

答案 0 :(得分:1)

我会这样做:

首先,使用SecureRandom.uuid在登录时将自己的令牌添加到会话中。这样做可以确保它不会被Rails的其他部分弄乱(例如,你不知道csrf令牌何时被破坏)。

而不是调用reset_session来调用维护您唯一令牌的包装器:

def clear_session_except_token
  token = session[:token]
  clear_session
  session[:token] = token
end

然后,您可以在用户退出时清除令牌。