Devise是一个非常棒的宝石,可用于基本或omniauth身份验证sign_up以及会话维护,重新发送确认密码等其他内容。
但是可以使用设计将多个电子邮件地址映射到同一个用户吗?
就像我有3,4个电子邮件ID,例如
用例和示例
我已使用自动系统注册了我的第一个电子邮件ID,即sahil@abc.com
,并创建了帐户。但我总是喜欢使用我的其他email_id,即sahil@xyz.com
。因此,我想构建一个系统,用户可以使用上述任何一个电子邮件地址使用相同/不同的密码登录。但是用户应该只有一个帐户。
答案 0 :(得分:1)
答案 1 :(得分:1)
我认为更酷的方法是尝试覆盖'authentication_keys'方法,因为它allows you to define the keys。
但是,以下链接有一个working solution:)
HTH
答案 2 :(得分:1)
以下是我所需要的RoR Devise: Sign in with username OR email
def self.find_for_database_authentication(conditions={})
(self.find_by_email(conditions[:email])) || (AuthorizedEmail.confirmed.find_by_email(conditions[:email]).user if AuthorizedEmail.confirmed.find_by_email(conditions[:email]).present?)
end
它的作用是: