• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

認証を作るのは面倒。ブログで便利なプラグインを使っているのを教わり、早速私も導入してみました。
ただ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

migration・model・controllerなどを生成

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

   1   ./script/generate open_id_authenticated USERMODEL CONTROLLERNAME

config/routs.rbを変更

(注: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'

application.rbを変更

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

   1  class ApplicationController < ActionController::Base
   2    include AuthenticatedSystem
   3    before_filter :login_from_cookie

lib/authenticated_system.rbを修正

(注: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

posted by Png satoko on Fri 23 Nov 2007 at 15:06

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry217
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ