【发布时间】:2014-08-19 08:26:47
【问题描述】:
默认情况下,n 次失败的登录尝试会锁定用户的帐户。
我还想有一个方法调用来锁定帐户,或者至少触发代码“嘿,这个帐户有 n 次失败的尝试,我应该锁定它”。
我可以增加失败尝试的次数,但这不会触发帐户被锁定。
示例用途:用户必须提供当前密码才能更改电子邮件,n 次失败尝试锁定帐户。或者用户是超级偏执的,想要有一个按钮来锁定他们的帐户(并引导所有用户退出)。
【问题讨论】:
标签: ruby-on-rails devise
默认情况下,n 次失败的登录尝试会锁定用户的帐户。
我还想有一个方法调用来锁定帐户,或者至少触发代码“嘿,这个帐户有 n 次失败的尝试,我应该锁定它”。
我可以增加失败尝试的次数,但这不会触发帐户被锁定。
示例用途:用户必须提供当前密码才能更改电子邮件,n 次失败尝试锁定帐户。或者用户是超级偏执的,想要有一个按钮来锁定他们的帐户(并引导所有用户退出)。
【问题讨论】:
标签: ruby-on-rails devise
可锁定模块将lock_access!、unlock_access! 和access_locked?(以及其他方法)添加到您的用户模型中。您应该能够直接调用它们,或者从其他添加更多逻辑的方法调用它们(例如,您的示例 n 尝试提供密码以更改电子邮件地址)。 lock_access! 在设计 3.2.3+ 中也有一个选项,如果你愿意,它会跳过发送电子邮件说明。见:
https://github.com/plataformatec/devise/blob/v3.2.3/lib/devise/models/lockable.rb
【讨论】: