diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2007-11-28 19:36:59 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2007-11-28 19:36:59 +0000 |
commit | f1d6a0e4d25ad67fead3ed215495adcf08332c80 (patch) | |
tree | 0511ef566216321aa06c4fa1eed8cf31a643ba41 /railties/lib/rails_generator/generators/applications/app | |
parent | fa866765c27edfed3c23985af488e087b790df5c (diff) | |
download | rails-f1d6a0e4d25ad67fead3ed215495adcf08332c80.tar.gz rails-f1d6a0e4d25ad67fead3ed215495adcf08332c80.tar.bz2 rails-f1d6a0e4d25ad67fead3ed215495adcf08332c80.zip |
Introduce SecretKeyGenerator for more secure session secrets than CGI::Session's pseudo-random id generator. Consider extracting to Active Support later. Closes #10286.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8229 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib/rails_generator/generators/applications/app')
-rw-r--r-- | railties/lib/rails_generator/generators/applications/app/app_generator.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/railties/lib/rails_generator/generators/applications/app/app_generator.rb b/railties/lib/rails_generator/generators/applications/app/app_generator.rb index 55c8bf3239..02d9b0fb88 100644 --- a/railties/lib/rails_generator/generators/applications/app/app_generator.rb +++ b/railties/lib/rails_generator/generators/applications/app/app_generator.rb @@ -1,5 +1,6 @@ require 'rbconfig' require 'digest/md5' +require 'rails_generator/secret_key_generator' class AppGenerator < Rails::Generator::Base DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'], @@ -33,6 +34,9 @@ class AppGenerator < Rails::Generator::Base md5 << String($$) md5 << @app_name + # Do our best to generate a secure secret key for CookieStore + secret = Rails::SecretKeyGenerator.new(@app_name).generate_secret + record do |m| # Root directory and all subdirectories. m.directory '' @@ -61,7 +65,7 @@ class AppGenerator < Rails::Generator::Base # Environments m.file "environments/boot.rb", "config/boot.rb" - m.template "environments/environment.rb", "config/environment.rb", :assigns => { :freeze => options[:freeze], :app_name => @app_name, :app_secret => md5.hexdigest } + m.template "environments/environment.rb", "config/environment.rb", :assigns => { :freeze => options[:freeze], :app_name => @app_name, :app_secret => secret } m.file "environments/production.rb", "config/environments/production.rb" m.file "environments/development.rb", "config/environments/development.rb" m.file "environments/test.rb", "config/environments/test.rb" |