認証を作るのは面倒。ブログで便利なプラグインを使っているのを教わり、早速私も導入してみました。
ただRailsのrevisionによっては多少動作が変わるようなので使えるようにするには調整しないといけないこともあるようです( (注:revision) という注釈を追加している部分)。
***
要件
- Rails 1.2.2 (for the singular resource routes. otherwise 1.2.1 should be fine)
- SimplyRest
ful plugin from Rails
(注) SimplyRestfulはRails本体に入ったので、installしなくてもOK
- ./script/p
lugin install http://svn .rubonrail s.org/rail s/plugins/ simply_res tful
- ./script/p
migration・model・controller などを生成
- USERMODEL CONTROLLER
NAMEには'User', 'Session'などに置き換えて実行
1 ./script/generate open_id_authenticate d USERMODEL CONTROLLER NAME
config/rou ts.rbを変更
(注:revision) map.resour
1 map.resources :users 2 map.login '/login', :controller=> 'session', :action => 'new' 3 map.logout '/logout', :controller => 'session', :action => 'destroy' 4 map.begin_sess ion '/session/b egin', :controller => 'session', :action => 'begin' 5 map.complete_s ession '/session/c omplete', :controller => 'session', :action => 'complete'
applicatio n.rbを変更
- session, userコントローラ内の下記の行をコメントアウトして、applicatio
n.rbの先頭に追加する。
1 class ApplicationControlle r < ActionCont roller::Ba se 2 include Authentica tedSystem 3 before_fil ter :login_from _cookie
lib/authen ticated_sy stem.rbを修正
(注:revision) redirect_t
1 def redirect_back_or_def ault(default) 2 session[:return_to] ? redirect_t o(session[:return_to]) : redirect_t o(default) 3 session[:return_to] = nil 4 end
posted by
satoko
on Fri 23 Nov 2007
at 15:06