ruby-on-rails-3 – 如何“安全地”更改设备中的用户的电子邮件地址?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 如何“安全地”更改设备中的用户的电子邮件地址?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
默认情况下,devise使用电子邮件地址进行注册登录.

但我希望用户可以更改电子邮件地址.

如果我允许用​​户编辑电子邮件地址,并且用户指定“不正确”(即错误的拼写错误)电子邮件地址,然后用户注销,并且用户也忘记错误的电子邮件是什么,现在是用户帐户无法被用户访问!

如何最好地解决这个问题? (除了创建一个单独的,不可更改的用户名字段,始终允许用户登录)

解决方法

如果他更改了电子邮件,您可以强制用户再次确认其帐户.

一旦您更新了相关用户的密码,您需要取消确认该用户,然后重新发送确认电子邮件.

要取消确认用户

user = User.find(1)
if user.confirmed?
  user.confirmed_at = nil
  user.save(:validate => false)
end

要重新发送电子邮件确认:

user = User.find(1)
user.send_confirmation_instructions

希望这有帮助!

猜你在找的Ruby相关文章