我正在使用Devise的:lockable
,
我遇到的问题是这两个:
last_attempt
警告消息(我希望消息为"You have one more attempt before your account is locked."
文件中的devise.en.yml
作为默认消息)"Invalid Username or password."
个Flash消息。我希望消息为"Your account is locked."
,它在devise.en.yml文件中作为默认值我可能会遗漏一些东西,感谢任何帮助。谢谢!
以下是我的Gemfile片段:
gem 'devise'
gem "devise_ldap_authenticatable", git: "git://github.com/cschiewek/devise_ldap_authenticatable.git"
gem 'devise_security_extension', git: 'https://github.com/phatworx/devise_security_extension.git', branch: 'master'
我仅将devise_security_extension用于其:session_limitable
模块。
以下是我的用户模型代码段:
devise :ldap_authenticatable, :registerable, :session_limitable, :timeoutable, :lockable, :trackable, :validatable, authentication_keys: [:username]
这是我的设计配置片段:
config.lock_strategy = :failed_attempts
config.unlock_strategy = :none
config.maximum_attempts = 3
config.last_attempt_warning = true
我的flash消息显示器:
- flash.each do |key, value|
- next if key == "timedout"
%div{ class: flash_class(key) }
%button.close{ "aria-hidden": "true", "data-dismiss": "alert", type: "button" } ×
= value
rails是v5.1.4
设计是v4.4.1
devise_ldap_authenticatable是v 0.8.6
devise_security_extension是v0.10.0
更新
可能与设计LDAP gem有关:https://github.com/cschiewek/devise_ldap_authenticatable/issues/78
会更多地研究它
答案 0 :(得分:0)
由于来自https://github.com/cschiewek/devise_ldap_authenticatable/issues/78的讨论表明应该与Active Directory方面进行讨论/确认,因此我只需要实现自己的简单帐户锁定/解锁。
只需使用failed_attempts
列并相应地更新值。