我在Rails 4.2.0应用程序中使用Devise进行用户身份验证。
下面是app/views/devise/shared/_links.html.slim中的相关代码:
- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?
(:email) && controller_name != 'unlocks'
= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
目前,它显示在我的注册/登录页面的链接,因为我有适当的设计Map到位。
我想做的是隐藏这个链接,只有当用户输入了足够多的失败密码来锁定他们的帐户时才显示它(3)。
失败尝试的次数是否存储在会话变量中?
任何建议/指导都很感激-谢谢你的时间。
2条答案
按热度按时间yeotifhr1#
失败尝试的次数存储在设备模型中(例如,
User
):locked_at
表示何时;当它们不再锁上的时候,它就被清空了。brqmpdu12#
您可以查看Flash对象(ActionDispatch::Flash::FlashHash)是否有警报“您的帐户已锁定”。使用消息密钥I18n.t('devise.failure. locked'):