rails中的secret_token有什么用?

时间:2013-09-05 23:07:40

标签: ruby ruby-on-rails-3

我今天尝试了铁路的教程,并对生成密码的这一部分感到困惑。

http://ruby.railstutorial.org/chapters/static-pages#top

require 'securerandom'

def secure_token
  token_file = Rails.root.join('.secret')
  if File.exist?(token_file)
    # Use the existing token.
    File.read(token_file).chomp
  else
    # Generate a new token and store it in token_file.
    token = SecureRandom.hex(64)
    File.write(token_file, token)
    token
  end
end

SampleApp::Application.config.secret_token = secure_token

任何人都可以解释一下这个文件的需求是什么。这个64位生成的秘密字符串的目的是什么。

1 个答案:

答案 0 :(得分:2)

正如该文件的评论所述:

  

您的密钥用于验证已签名Cookie的完整性。

签名的cookie用于存储会话信息或您想要分配给用户的其他内容以及只有该用户。

有关会话和Cookie的详情,请参阅here