Rail3でDeviseを使う
はじめに、RubyMine3.2.2でFile -> New Projectで図のようなdevise_testというRailsプロジェクトを作成する。Railsのバージョンは3.09
RailsアプリケーションのルートにあるGemfileに
以下を追加
gem 'devise', '1.4.2'
続いて、メニューのTools -> BundleからInstallを選択すし、以下の画面にて--path vendor/bundleを入力し、OKをクリック。
pathを指定することで、このアプリケーションに特化したgemが管理できるらしい。
そうすると、vendor以下に図のようなディレクトリができる。
次に、Tools -> Run Rails GeneratorでReload Generator Listを選択し、
Generator Listを更新後、再び、Run Rails Generatorでdevise:installを選択し、Deviseを使えるようにする。
後は、generator でdevise [モデル名」で認証機能のついたモデルを作成可能になる。
> rails generator device User
とやると、db/migrateに
時刻_devise_create_user.rb
app/modelsに
user.rbが作成される。
database_authenticatable:パスワードを暗号化してDBに格納し、そのパスワードで認証を行う。認証はHTTP POSTリクエストまたはHTTP基本認証に対応。
token_authenticatable:ユーザーごとの認証トークンでサインインする。トークンはクエリストリングまたはHTTP基本認証で与えられる。
confirmable:サインインでアカウントがすでに確認されている場合、サインインの確認と認証をメールで行う。
recoverable:パスワードのリセットとリセット方法をメールします。
registerable:ユーザー自身が登録でき、編集、削除できます。
rememberable:クッキーからユーザーのトークンを作成、削除できます。
trackable:タイムスタンプとIPアドレスでユーザーをトラッキングします。
timeoutable:ある期間でユーザーのセッションを削除します。
validatable:ユーザーのメールアドレスとパスワードをバリデーションします。
lockable:何回かサインインに失敗した場合、アカウントをロックします。またメールまたは特定の期間でロックを解除します。
encryptable: デフォルトのBcrypt以外の他の暗号化をサポートします。