1

我想限制登录被禁止的用户。我的每个用户都有一个denied:integer, :default => 0字段,说明是否允许用户登录。

如果denied == 1然后用户被拒绝登录。

但是,由于我看不到设计控制器/模型,我不知道该怎么做,是否有一个 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 回答