acts_as_authenticated
今までは手作りしてきた認証部分だけど、今回acts_as_authenticatedなんつーものを使ってみた。このWikiが参考になったけど、ウソも書かれているのでちょいと苦労した。以下、メモ。
全体方針
- acts_as_authenticatedの基本実装
- メールを使ったactivationの実装
- パスワード修正の実装
- パスワードリセットの実装
acts_as_authenticatedの基本実装
インストールと認証設定。コントローラのapplication.rbに
include AuthenticatedSystem
と書いておくのが基本。その上で、認証制御をかけたいコントローラにbefore_filter :login_requiredをつける。
class HogehogeController < ApplicationController before_filter :login_required def test end end
メールを使ったactivationの実装
まず、User Activationを設定。account_controllerのsignup修正が必要。
def signup @user = User.new(params[:user]) return unless request.post? @user.save! # self.current_user = @user ←この行は不要になる redirect_back_or_default(:controller => '/account', :action => 'index') flash[:notice] = "Thanks for signing up!" rescue ActiveRecord::RecordInvalid render :action => 'signup' end
あと、上記ページに書かれているtest_should_activate_userに使うユーザ名はarthurではなくaaronにする必要あり。
その上で、Mailer Setupを実施。