【问题标题】:Devise How to allow User account update even if not confirmed设计如何在未确认的情况下允许用户帐户更新
【发布时间】:2016-07-23 18:26:09
【问题描述】:

我正在使用可确认的设计,我想问是否有任何方法可以在未经确认的情况下允许用户帐户更新(电子邮件、用户名、密码)?基本上,Devise/Warden 会回复“您必须在继续之前确认您的电子邮件地址。”。我希望用户能够在错误时更改电子邮件,然后重新发送确认电子邮件。 谢谢你的建议:)

编辑:当然用户应该登录,所以他可以更改其详细信息。

【问题讨论】:

  • 您想由用户管理员更新这些详细信息吗?
  • 那么我不确定您可以通过 update_attributes bethod 轻松发送电子邮件和更改电子邮件地址的问题
  • 我希望用户更新其详细信息,因此他以用户身份登录,而不是管理员。
  • 所以您希望用户无需确认其帐户即可登录?
  • 是的,就像我将它用于带有 simple_authentication_token 的 API 一样,因此在创建帐户时,将给出令牌,以便用户登录但未确认。所以我只希望他可以在不确认的情况下更改其详细信息,但是如果帐户未确认,则应拒绝所有其他操作

标签: ruby-on-rails ruby devise


【解决方案1】:

我最终默认使用了

config.allow_unconfirmed_access_for = nil

并阻止所有经过身份验证和需要确认的用户控制器操作

before_filter :ensure_confirmed

def ensure_confirmed
  unless current_user.confirmed?
    head :unauthorized and return false
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多