Acts as Authenticated in Pluginsの下の方を見ていただければわかる通り、このプラグインではパスワード変更とかパスワードリセット、メールアドレス変更などの一通りのアカウント管理のメソッド実装が、サイト上に公開されています。さらに自動ログイン機能が最初から付いてたりと、手軽にしっかりアカウント周りの機能が実装できるので、めんどくさがりの僕はかなり重宝してます。
〜中略〜
ただし、このプラグインは唯一欠点があるのです。
それは、「ログインが要求されるアクションへの毎アクセスごとに、ユーザテーブルへのDBアクセスが発生する」こと。
要するに、パフォーマンス的は全然ダメ...
- 2007年09月18日Rails勉強会@東京 第22回:acts_as_authenticatedとは
- acts_as_authenticated を試してみた。
- acts_as_authenticated
- acts_as_authenticatedのControllerテスト用メソッド
- acts_as_authenticatedでactivationする場合に追加するべき1行
Rails で acts_as_authenticated を利用してメールによるアカウントの activation をする場合、デフォルトのままだと下のような activation_code がない URL でアクセスされた時に勝手にログインされてしまいます。〜後略〜
メールの性質上、送信者(Fromフィールド)はサルにでも簡単に偽装できるため、Fromを使って認証することはできません。そこで、適当なメールアドレスを生成してユーザに覚えてもらった上で「特定のメールアドレスに送ってくる人は、特定のユーザである」という認証ロジックを使うことになります。
〜中略〜
上記を踏まえて、送信者認証つきのメールによるファイルアップロードの仕組みについて説明します。Ruby on Railsにはacts_as_authenticatedという、ユーザの登録からログイン/認証までが一瞬で実装できる素晴らしいプラグインが用意されています。ユーザの情報はDBに格納され、Railsの素晴らしいActiveRecordフレームワークによって、シームレスにRuby上から扱うことができます。
さらに、メール送配信システムであるPostfixには、仮想(Virtual)のメールアドレスを受け付ける機能があり、データベースに受け付けたい仮想メールアドレスをドーンと格納しておくことができるため、acts_as_authenticatedで使用するユーザ情報のテーブルと簡単に連動することができます。