8
我想在我的應用中爲帳戶持有者用戶添加訂閱類型功能,以便在固定的時間間隔後他們將無法訪問他們的帳戶?注意:我不想從數據庫中刪除他們的帳戶。我已經在我的應用程序中安裝了devise-2.1.2
。有沒有任何機構有任何想法如何做?我是Ruby on rails
的新手,所以如果你請解釋一下這些步驟,這對我很有幫助。如何使用Devise鎖定用戶?
我想在我的應用中爲帳戶持有者用戶添加訂閱類型功能,以便在固定的時間間隔後他們將無法訪問他們的帳戶?注意:我不想從數據庫中刪除他們的帳戶。我已經在我的應用程序中安裝了devise-2.1.2
。有沒有任何機構有任何想法如何做?我是Ruby on rails
的新手,所以如果你請解釋一下這些步驟,這對我很有幫助。如何使用Devise鎖定用戶?
設計與在Devise Lockable Documentation
你必須在lock_strategy
組設置爲:failed_attempts.
步驟1 設置你的配置/初始化/ devise.rb的:lockable
選項檢查一個BUIL式解決方案使用方法:
# Defines which strategy will be used to lock an account.
config.lock_strategy = :failed_attempts
# Defines which key will be used when locking and unlocking an account
config.unlock_keys = [ :time ]
# Defines which strategy will be used to unlock an account.
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
config.unlock_strategy = :time
# Number of authentication tries before locking an account if lock_strategy
# is failed attempts.
config.maximum_attempts = 3
# Time interval to unlock the account if :time is enabled as unlock_strategy.
config.unlock_in = 2.hours
步驟2 您應可鎖定添加到您型號爲這樣:
class Example < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:lockable
步驟3 生成遷移,使色器件工作
class AddLockableToExamples < ActiveRecord::Migration
def change
add_column :examples, :failed_attempts, :integer, default: 0
add_column :examples, :unlock_token, :string
add_column :examples, :locked_at, :datetime
end
end
的問候!
我想在我的腦海中清除這個事情,即「失敗的嘗試」僅適用於這種情況,如果任何用戶嘗試註冊一定次數。 –
此外,文檔還指出,可以使用時間類型策略來鎖定帳戶。所以我想在用戶訂購幾個月後給訂閱,只要訂閱結束,他就不能使用他的賬戶。這可能嗎? –
當用戶嘗試x次登錄並鎖定時,它會鎖定,您可以將unlock_strategy設置爲time。這就是你需要的! – felipeclopes