セッション管理

セッションとは

セッションのデータ構造はハッシュ形式であり、32文字の16進数乱数文字列で構成され、一意なセッションIDによって、識別される。新しいセッションが作成されると、RailsはセッションIDが含まれたクッキーをブラウザに自動的に送信する。それ以降ブラウザからのリクエストのたびにセッションIDがサーバー送信されるので、連続性を維持することができる。


●セッションのオプション


#application_controller.rb
#すべてのアクションでセッション管理をオフにする
session :off



#特定のコントローラに追加したときに:only,:except使えることができる。
session :off :only=>[ add , edit ]



#セッションはHTTPS経由でのみ動作する。
session :session_secure => true

ActiveRecord SessionStore

Railsのデフォルト、セッションデータはRails_Root/app/tmp/sessionsのフォルダに格納されている。しかし、多くのセッション格納方法はActiveRecord SessionStoreである。


ActiveRecord SessionStoreの設定方法


#コマンドラインで入力
$ rake db:sessions:create
....
....
....
$ rake db:migrate
....
....


#config/environment.rb
config.action_controller.session_store = :active_record_store

以上です。