rails设计可锁定的触发器锁

时间:2014-08-19 08:26:48

标签: ruby-on-rails devise

默认情况下,n次尝试登录失败会锁定用户的帐户。

我还想要一个方法调用来锁定帐户,或者至少触发代码说明"嘿,这个帐户有n次失败尝试我应该锁定它"。

我可以增加失败尝试的次数,但这不会触发帐户被锁定。

示例用途:用户必须提供当前密码才能更改电子邮件,n次尝试失败锁定帐户。或者用户是超级偏执,并希望有一个按钮来锁定他们的帐户(并引导所有用户)。

1 个答案:

答案 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