Authlogic
認証処理
openIDとかLDAPとかと連携して認証するためのプラグインが存在する
ホームページ
Rails 3 に対応していないようなので、フォークの中からRails 3 対応中の物を探す
新しい物が良いな~と言うことで、
http://github.com/crossroads/authlogic
あたりが良いか?
だが、安定して使える物を探す必要はある。
オリジナルがRails 3 に対応すれば、それを使いたい。
インストール
Gemfileに
gem "authlogic", :git => "git://github.com/crossroads/authlogic.git", :branch => 'rails3'
を追加して
bundle install
実行
セッションモデルを追加
rails g authlogic:session user_session
ユーザモデルを追加
rails g model User \ login:string \ crypted_password:string \ password_salt:string \ persistence_token:string \ login_count:integer \ last_request_at:datetime \ last_login_at:datetime \ current_login_at:datetime \ last_login_ip:string \ current_login_ip:string
ユーザテーブルのマイグレーションファイルを修正
#db/migrate/20100903092404_create_users.rb
class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.timestamps t.string :login, :null => false t.string :crypted_password, :null => false t.string :password_salt, :null => false t.string :persistence_token, :null => false t.integer :login_count, :default => 0, :null => false t.datetime :last_request_at t.datetime :last_login_at t.datetime :current_login_at t.string :last_login_ip t.string :current_login_ip end add_index :users, :login add_index :users, :persistence_token add_index :users, :last_request_at end def self.down drop_table :users end end
マイグレーション実行
rake db:migrate
ユーザモデルの修正
#app/models/user.rb
class User < ActiveRecord::Base acts_as_authentic end
ユーザセッションコントローラの作成
rails g controller user_sessions