ページに認証をかけてみる 〜 restful_authentication
認証に関しては、"restful_authentication" というプラグインがあるようです。
プラグインをインストールしたら、まず認証用のコンポーネントの生成をします。
$ script/generate authenticated user sessions
オプションがあって、以下のような説明がREADMEに記述されています。
今回はとりあえずオプションなしで試します。
- "--include-activation" は、メールでアクティベーションコードを送るコードが生成されるようです。
- "--stateful" オプションを付けると"acts_as_state_machine"と連携できるようです。
generate を実行したら、
$ rake db:migrate
"users_controller.rb" の以下の行を"application.rb" に移します。
include AuthenticatedSystem
class ApplicationController < ActionController::Base # この一行を追加 include AuthenticatedSystem
config/routes.rbを編集します。
以下を追記。
map.signup '/signup', :controller => 'users', :action => 'new' map.login '/login', :controller => 'sessions', :action => 'new' map.logout '/logout', :controller => 'sessions', :action => 'destroy'
認証が必要なコントローラに以下を追記
class HogeController < ApplicationController # この一行を追加 before_filter :login_required
サインアップは以下のURLから。
http://localhost:3000/signup
認証が必要なページのURLを叩いてログイン画面が表示されれば成功。
今回は特につまづくところなくできました。