iyuichiの私的開発ログ

渋谷で働くWebエンジニアのログ. Java, Android, iOS, Docker, GCP, AWS, ゲーム開発

ページに認証をかけてみる 〜 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を叩いてログイン画面が表示されれば成功。
今回は特につまづくところなくできました。