【问题标题】:Rails Devise authentication with email and another fieldRails 使用电子邮件和其他字段设计身份验证
【发布时间】:2017-12-21 22:57:30
【问题描述】:

在设计中使用导轨。在用户表上,我有电子邮件和字段 record_status。记录状态将包含“活动”或“已删除”

我需要更改哪些内容才能使用电子邮件和 record_status = 'active' 进行身份验证。

我有这段代码。

在我的用户模型中

def self.find_for_database_authentication(warden_conditions)
  status = 'active'
  where(:email => warden_conditions[:email], :record_status => warden_conditions[:status]).first
end

在我的初始化器 devise.rb 中

config.case_insensitive_keys = [:email]

感谢大家的帮助

【问题讨论】:

    标签: ruby-on-rails-3 devise


    【解决方案1】:

    有一个初始化器用于设计它的文件路径是config/initializers/devise.rb ruffly 在第 37 行你应该看到

    # config.authentication_keys = [:email]
    

    现在您可以将其更新为

    config.authentication_keys = [:email, :other_field]
    

    任何身份验证机制的配置 配置在验证用户时使用哪些密钥。默认是 只是:电子邮件。您可以将其配置为使用 [:username, :subdomain],因此对于 验证用户,这两个参数都是必需的。记住那些 参数仅在身份验证时使用,而不是在检索时使用 会议。如果你需要权限,你应该在前置过滤器中实现它。 您还可以提供一个哈希值,其中的值是一个布尔值,用于确定是否 当值不存在时,是否应该中止身份验证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 2011-12-08
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多