【发布时间】: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