認証を作るのは面倒。ブログで便利なプラグインを使っているのを教わり、早速私も導入してみました。
ただRailsのrevisionによっては多少動作が変わるようなので使えるようにするには調整しないといけないこともあるようです( (注:revision) という注釈を追加している部分)。
***
- Rails 1.2.2 (for the singular resource routes. otherwise 1.2.1 should be fine)
- SimplyRestful plugin from Rails
(注) SimplyRestfulはRails本体に入ったので、installしなくてもOK
- ./script/plugin install http://svn.rubonrails.org/rails/plugins/simply_restful
- USERMODEL CONTROLLERNAMEには'User', 'Session'などに置き換えて実行
1 ./script/generate open_id_authenticated USERMODEL CONTROLLERNAME
(注:revision) map.resources :sessionでbegin_session・complete_sessionがOKの場合もあるかもしれません
1 map.resources :users
2 map.login '/login', :controller => 'session', :action => 'new'
3 map.logout '/logout', :controller => 'session', :action => 'destroy'
4 map.begin_session '/session/begin', :controller => 'session', :action => 'begin'
5 map.complete_session '/session/complete', :controller => 'session', :action => 'complete'
- session, userコントローラ内の下記の行をコメントアウトして、application.rbの先頭に追加する。
1 class ApplicationController < ActionController::Base
2 include AuthenticatedSystem
3 before_filter :login_from_cookie
(注:revision) redirect_to_urlがないとエラーが出る場合があり、その場合redirect_toに変更
1 def redirect_back_or_default(default)
2 session[:return_to] ? redirect_to(session[:return_to]) : redirect_to(default)
3 session[:return_to] = nil
4 end