默认情况下,n次尝试登录失败会锁定用户的帐户。
我还想要一个方法调用来锁定帐户,或者至少触发代码说明"嘿,这个帐户有n次失败尝试我应该锁定它"。
我可以增加失败尝试的次数,但这不会触发帐户被锁定。
示例用途:用户必须提供当前密码才能更改电子邮件,n次尝试失败锁定帐户。或者用户是超级偏执,并希望有一个按钮来锁定他们的帐户(并引导所有用户)。
答案 0 :(得分:2)
可锁定模块将lock_access!
,unlock_access!
和access_locked?
(以及其他方法)添加到您的用户模型中。您应该能够直接调用它们,或者通过其他方法调用它们来添加更多逻辑(例如,您尝试提供密码以更改电子邮件地址的示例)。 lock_access!
还可以选择设计3.2.3+,如果您愿意,可以跳过发送电子邮件说明。参见:
https://github.com/plataformatec/devise/blob/v3.2.3/lib/devise/models/lockable.rb