1

禁止されたユーザーのログインを制限したい。各ユーザーには、ユーザーがdenied:integer, :default => 0ログインを許可されているかどうかを示すフィールドがあります。

denied == 1ユーザーがログインを拒否さ れた場合。

ただし、Devise コントローラー/モデルが表示されないため、これについてどうすればよいかわかりません。ログイン手順が実行される前に、独自のメソッドを適用するために使用できる before_login/before_auth フィルターはありますか?

4

1 に答える 1

2

これは実際には非常に簡単です。次のコードをユーザー モデルに追加するだけです。

def active_for_authentication?
  super && !self.denied 
end

また、拒否されたフラグに整数の代わりにブール値を使用すると、列が tinyint に設定されます。ただし、本当にintが必要な場合は、次と比較してくださいsuper && self.denied != 1

Rubydoc情報

于 2013-03-13T15:20:10.233 に答える