はじめてのRuby on Rails、トラブル記録
<< restful_authenticationで認証機能追加(1) | TOP | restful_authenticationで認証機能追加(3) >>
スポンサーサイト

一定期間更新がないため広告を表示しています

posted by スポンサードリンク | | - | - | - |はてなブックマーク - スポンサーサイト
restful_authenticationで認証機能追加(2)
それではさっそくrestful_authenticationの導入を始めてみます。

英語読むのめんどくさいからついつい日本語サイトをたよりにしがちだけど、
困った時はなにはともあれ、本家は大事なんだぜ!というのをi18n_generatorのときに学んだw

ということでまずは本家です↓

・配布元サイト http://github.com/technoweenie/restful-authentication#INSTALL
・Wiki http://wiki.github.com/technoweenie/restful-authentication



【1】restful_authenticationのインストール


インストールします。
ruby script¥plugin install http://svn.techno-weenie.net/projects/plugins/restful_authentication/
もじゃもじゃと何やらいっぱいメッセージが出てインストール完了しました。

【2】restful_authenticationの設定をする


ジェネレートします。
ruby script¥generate authenticated モデル名 セッション名 (オプション1)(オプション2)
となってて、普通モデル名はuser、セッション名はsessionsとかにするようなのでそのとおりやります。
オプションには以下のものがあるようです。

  • --include-activation……メール認証する

  • --stateful……acts_as_state_machine,略してaasmとかいう別のプラグイン?を使ってユーザーの状態管理をする

  • --skip-migration……ジェネレートしたときに作ったモデルのマイグレーションをしない


acts_as_state_machineってなんじゃい!?と思ったけど、とりあえず--statefulのみ付けてやってみました。
⇒【追記】初めてためすだけなら--statefulつけない方が無難かも。詳しくは(3)の追記で。
ruby script¥generate authenticated user sessions --stateful

これを実行したら、のらのらーっといっぱいメッセージが出ましたが、一番最初にこんな文がありました。
----------------------------------------------------------------------
Don't forget to:

1 map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate'

2 - add an observer to config/environment.rb
config.active_record.observers = :user_observer

3Also, don't forget to install the acts_as_state_machine plugin and set your reso
urce:

svn export http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/tr
unk vendor/plugins/acts_as_state_machine

4In config/routes.rb:
map.resources :users, :member => { :suspend => :put, :unsuspend => :put, :purg
e => :delete }

5Try these for some familiar login URLs if you like:

map.activate '/activate/:activation_code', :controller => 'users', :action => 'a
ctivate', :activation_code => nil
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'

----------------------------------------------------------------------

忘れんな!って、いくつかやらなきゃいけないことがあるみたいです。

1
map……といえばconfig/routes.rbかな。config.rbに以下を追加しました。
map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate'


2
config/environment.rbにobserverを追加しなさいと書いてあるので書いてある通り追加しました。
config.active_record.observers = :user_observer


3
出ました。さっき「なんだろう?」と思ったacts_as_state_machine。このプラグインを入れろというので、これを入れてみます。親切に場所も書いてあります。
ruby script¥plugin install http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk/


4
見たところユーザーの状態設定のようです。acts_as_state_machineを入れたので、ユーザーステータスを設定ってとこかな。config/routes.rbの最初の方に、script¥generate authenticatedをやったときに追加されてたmap.resourceの下に加えました。
map.resources :users, :member => { :suspend => :put, :unsuspend => :put, :purge => :delete }


5は他にもこんな感じで入れてみんさい〜ということみたいですね。
練習なのでこのまま全部入れてみます。
map.activate '/activate/:activation_code', :controller => 'users', :action => 'activate', :activation_code => nil
map.signup '/signup', :controller => 'users', :action => 'new'
map.login '/login', :controller => 'sessions', :action => 'new'
map.logout '/logout', :controller => 'sessions', :action => 'destroy'
これでhttp://localhost:3000/signupで新規登録画面、http://localhost:3000/loginでログイン画面、http://localhost:3000/logoutでログアウトになるはずかな?


ここまででhttp://localhost:3000/signupとかを確認してみたところ、サインアップ画面が出ました楽しい
元のプロジェクトのURL入れるとまだログインなしでも表示されちゃうけど……。
その辺の設定はまた次回以降!

(次の記事へ)


【参考】
あとで読むRailsのススメ
 restful_authenticationhttp://japan.zdnet.com/blog/yoshimi/2008/03/25/entry_27016453/
 acts_as_state_machinehttp://japan.zdnet.com/blog/yoshimi/2008/04/10/entry_27016454/
posted by トモト | 15:24 | 認証機能 | comments(0) | trackbacks(0) |はてなブックマーク - restful_authenticationで認証機能追加(2)
スポンサーサイト
posted by スポンサードリンク | 15:24 | - | - | - |はてなブックマーク - スポンサーサイト
コメント
コメントする










この記事のトラックバックURL
http://hajimete-ruby.jugem.jp/trackback/30
トラックバック
Rails3レシピブック 190の技
Rails3レシピブック 190の技
ついにRails3対応版が出ました!!
WEB+DB PRESS Vol.58
WEB+DB PRESS Vol.58
Rails2系から3への移行時に知りたいことがひとまとまりになっててよかった!色々ググるよりこれを読む方が早い。
Rubyレシピブック 第3版 303の技
Rubyレシピブック 第3版 303の技
Rubyやるならこのリファレンスは必要。
Search this site