Authlogic Example Appのuserはこんな感じ。
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
modelそのものは
class User < ActiveRecord::Base
acts_as_authentic
end
ですな。しかし/views/users/_form.html.erbには
<%= form.label :login %>
<%= form.text_field :login %>
<%= form.label :password, form.object.new_record? ? nil : "Change password" %>
<%= form.password_field :password %>
<%= form.label :password_confirmation %>
<%= form.password_field :password_confirmation %>
しか書かれていないので、パスワード関係とかは全部plugin側でやってくれるらしい。
で、自分のプロジェクトのuserは
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :login
t.string :crypted_password
t.string :password_salt
t.string :persistence_token
t.integer :login_count
t.string :current_login_ip
t.timestamps
end
end
def self.down
drop_table :users
end
end
この程度にしておいて、emailなしでいけるもんだか試してみる。
結果的にはログイン名とパスワードだけで認証できました。
手軽に使えるのがいいですね。イントラネット内の軽いアプリならもう万々歳、という感じです。
パスワードの設定し直しやmail送付による認証といったオールインワンパッケージが必要な時はdevise、手軽に使いたいときはAuthlogic、でしょうかね。
0 件のコメント:
コメントを投稿