0

我是 Rails (3.2) 的新手,我正在寻找一种允许用户使用他们的数据库 ID 和密码登录的方法。阅读文档,Authlogic 似乎允许使用登录名或电子邮件登录。是否有可能以某种方式扩展 gem 以允许用户通过提供他们的数据库 ID 和密码来进行身份验证?

这是我当前的用户模型

class User < ActiveRecord::Base
attr_accessible :password, :password_confirmation, :current_login_ip, :email, :failed_login_count, :first_name, :last_login_ip, :last_name, :last_request_at, :login_count, :password_salt,
              :perishable_token, :persistence_token, :single_access_token

acts_as_authentic
end

还有我当前的用户会话模型

class UserSessionsController < ApplicationController

  def new
    @user_session = UserSession.new
  end

  def create
    @user_session = UserSession.new(params[:user_session])
    if @user_session.save
      flash[:notice] = "Successfully logged in."
      redirect_to root_url
    else
      render :action => 'new'
    end
  end

  def destroy
    if UserSession.find
      UserSession.find.destroy
      flash[:notice] = "Successfully logged out."
    end

    redirect_to root_url
  end
end

我当前的设置使用电子邮件地址身份验证。

提前致谢!

4

1 回答 1

1

Authlogic 允许您选择要用作登录字段的列。查看 Login::Config 模块login_field选项):

acts_as_authentic do |c|
  c.login_field = :database_id_or_whatever_fits_your_needs
end
于 2012-08-12T19:28:35.403 回答