【问题标题】:Devise - Showing locked message before password message设计 - 在密码消息之前显示锁定消息
【发布时间】:2017-10-18 20:59:26
【问题描述】:

我正在尝试在 Devise 中实现可锁定模块。我想设置它,以便如果帐户被锁定,无论密码是否正确,它都会显示锁定消息。只要尝试次数高于最大尝试次数,在 database_authenticable 之前导入 lockable 即可提供所需的行为,但还有其他原因可能导致帐户被锁定。我已经覆盖了#unauthenticated_message,以便它在#access_locked 时返回:locked?是真的,但这似乎并没有做任何事情。有没有办法做到这一点?

看起来 Devise 的标准行为是不透露帐户的锁定状态,除非密码正确,因为该线程认为:https://groups.google.com/forum/#!topic/plataformatec-devise/8BWkoYf-uy8 所以阻止请求让我证明我的推理,这对我来说似乎是错误的.在我看来,锁定帐户的全部目的是避免密码枚举。我真的不在乎是否有人知道在我的网站上注册了特定的电子邮件(尤其是因为无论如何都可以在用户创建页面上进行枚举),但是为什么要让某人无限尝试猜测密码呢?我愿意被说服,但这似乎完全倒退了。

【问题讨论】:

    标签: ruby-on-rails security authentication devise


    【解决方案1】:

    我也面临同样的问题。我唯一能做的就是增加尝试次数。 例如:如果我想允许 3 次登录尝试,请更改

    config.maximum_attempts = 3config.maximum_attempts = 4

    这样,如果用户两次输入错误密码,第三次输入正确密码,帐户就不会被锁定。但这不是一个好的解决方案,尽管它暂时解决了我的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多