Rails使用电子邮件和其他字段设计身份验证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails使用电子邮件和其他字段设计身份验证相关的知识,希望对你有一定的参考价值。
使用带设计的导轨。在用户表上,我有电子邮件和字段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]
谢谢你的帮助
答案
有一个初始化器用于设计它的文件路径是config/initializers/devise.rb
ruffly在第37行你应该看到
# config.authentication_keys = [:email]
现在你可以更新它了
config.authentication_keys = [:email, :other_field]
任何身份验证机制的配置配置在对用户进行身份验证时使用的密钥。默认只是:电子邮件。您可以将其配置为使用[:username,:subdomain],因此,为了验证用户,两个参数都是必需的。请记住,这些参数仅在进行身份验证时使用,而不是在从会话中检索时使用。如果您需要权限,则应在before过滤器中实现。您还可以提供散列,其中值是布尔值,用于确定在值不存在时是否应中止身份验证。
以上是关于Rails使用电子邮件和其他字段设计身份验证的主要内容,如果未能解决你的问题,请参考以下文章
向 iOS 应用程序公开 Rails/Devise 身份验证
graphql_devise 用于 Rails/Graphql/Apollo/React 中的身份验证。 “字段需要身份验证”错误