query: tag:authentication

認証を作るのは面倒。ブログで便利なプラグインを使っているのを教わり、早速私も導入してみました。
ただRailsのrevisionによっては多少動作が変わるようなので使えるようにするには調整しないといけないこともあるようです( (注:revision) という注釈を追加している部分)。

***

要件

migration・model・controllerなどを生成

  • USERMODEL CONTROLLERNAMEには'User', 'Session'などに置き換えて実行

ruby>>
./script/generate open_id_authenticated USERMODEL CONTROLLERNAME
<<--

config/routs.rbを変更

(注:revision) map.resources :sessionでbegin_session・complete_sessionがOKの場合もあるかもしれません
ruby>>
map.resources :users
map.login '/login', :controller => 'session', :action => 'new'
map.logout '/logout', :controller => 'session', :action => 'destroy'
map.begin_session '/session/begin', :controller => 'session', :action => 'begin'
map.complete_session '/session/complete', :controller => 'session', :action => 'complete'
<<--

application.rbを変更

  • session, userコントローラ内の下記の行をコメントアウトして、application.rbの先頭に追加する。

ruby>>
class ApplicationController < ActionController::Base
include AuthenticatedSystem
before_filter :login_from_cookie
<<--

lib/authenticated_system.rbを修正

(注:revision) redirect_to_urlがないとエラーが出る場合があり、その場合redirect_toに変更

ruby>>
def redirect_back_or_default(default)
session[:return_to] ? redirect_to(session[:return_to]) : redirect_to(default)
session[:return_to] = nil
end
<<--

posted by satoko satoko on Fri 23 Nov 2007 at 15:06 with 0 comments