acts as authenticatedをとりあえず使う

勉強会でさぐりを入れてみた認証の仕組みですが、
login engineよりもこちらのほうがよさそうだということで、インストールしてみる。

  • エンジンではなく、ジェネレータとして動作する。
  • 一回ジェネレートして、後は自分でいじってくれという感じ。

インストール

./script/plugin install http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated

一式を作成。モデルやコントローラなどが一式はいる。
以下だとモデルがuserでコントローラがaccountになる。

 ./script/generate authenticated user account

必要な場所に

class ApplicationController < ActionController::Base
  include AuthenticatedSystem
  before_filter :login_required
end

のように書いて使うのだが、ログイン失敗して飛ばす先でbefore_filterが効いてしまうと
ループが発生するので、

class AccountController < ApplicationController
  before_filter :login_from_cookie
  skip_before_filter :login_required
end

のように飛ばすなどしないとハマル。
以上の方法で得ることが出来る機能は

  • ログイン認証機能
  • 新規アカウントサインアップ機能

の2つだけです。これ以外の機能は自力で追加します。
とは言っても、マニュアルに親切にやり方が書いてあります。