lock_access! better failure message

This commit is contained in:
randoum
2014-05-16 05:57:18 +08:00
parent 2f6edfd0c5
commit d8ee3e49cb
2 changed files with 12 additions and 2 deletions

View File

@@ -115,10 +115,10 @@ module Devise
# leaks the existence of an account.
if Devise.paranoid
super
elsif access_locked? || (lock_strategy_enabled?(:failed_attempts) && attempts_exceeded?)
:locked
elsif lock_strategy_enabled?(:failed_attempts) && last_attempt?
:last_attempt
elsif lock_strategy_enabled?(:failed_attempts) && attempts_exceeded?
:locked
else
super
end

View File

@@ -313,4 +313,14 @@ class LockableTest < ActiveSupport::TestCase
end
end
end
test 'should return locked message if user was programatically locked' do
swap Devise, last_attempt_warning: :true do
swap Devise, lock_strategy: :failed_attempts do
user = create_user
user.lock_access!
assert_equal :locked, user.unauthenticated_message
end
end
end
end