acts_as_authenticated

初めて ./script/plugin を使いました^^;

まずはヘルプの確認。

ruby ./script/plugin --help
COMMANDS
  discover   Discover plugin repositories.
  list       List available plugins.
  install    Install plugin(s) from known repositories or URLs.
  update     Update installed plugins.
  remove     Uninstall plugins.
  source     Add a plugin source repository.
  unsource   Remove a plugin repository.
  sources    List currently configured plugin repositories.

結構色々ありますねー。

とりあえず sources でリポジトリを確認してみると,http://dev.rubyonrails.com/svn/rails/plugins/ しか登録されてませんでした。デフォルトだとまぁこんな感じかな。

list でインストール可能なプラグイン一覧を見てみたら act_as_authenticated は見当たらず。そっか,これ公式のプラグインじゃないんですね。名前だけは至るところで聞くのでユーザ認証するときの標準だと思ってたんだけど,違うのかな?

discover してみたら一杯出てきすぎて焦ったぁ(汗) 慌てて Ctrl+C でキャンセルしちゃいました。

とりあえずインストール。

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

で,インストール完了。

ruby ./script/generate authenticated user account

User モデルを Account コントローラで管理するように設定しているみたいですね。

rake db:migrate

出来る DB はこんな感じ。

mysql> show columns from users;
+---------------------------+--------------+------+-----+---------+----------------+
| Field                     | Type         | Null | Key | Default | Extra          |
+---------------------------+--------------+------+-----+---------+----------------+
| id                        | int(11)      | NO   | PRI | NULL    | auto_increment |
| login                     | varchar(255) | YES  |     | NULL    |                |
| email                     | varchar(255) | YES  |     | NULL    |                |
| crypted_password          | varchar(40)  | YES  |     | NULL    |                |
| salt                      | varchar(40)  | YES  |     | NULL    |                |
| created_at                | datetime     | YES  |     | NULL    |                |
| updated_at                | datetime     | YES  |     | NULL    |                |
| remember_token            | varchar(255) | YES  |     | NULL    |                |
| remember_token_expires_at | datetime     | YES  |     | NULL    |                |
+---------------------------+--------------+------+-----+---------+----------------+

あとは before_filter に login_required を追加すれば,そのコントローラはログイン必須になるのかな?これから試しますー。