Aus*_*tin 3 ruby authentication ruby-on-rails devise
我正在使用设计进行身份验证.如何设置登录范围?例如,假设我只想验证范围的用户:
User.where(:active => true)
Run Code Online (Sandbox Code Playgroud)
我清楚了吗?这很简单,但如果需要我可以详细说明.
(我意识到有一个可锁定的模块,但我的实际范围不适用于活跃用户,它更像是current_site.users,其中current_site基于域)
小智 14
只需在User模型中覆盖这两个方法,检查活动标志是否为真:
# Called by Devise to see if an user can currently be signed in
def active_for_authentication?
active? && super
end
# Called by Devise to get the proper error message when an user cannot be signed in
def inactive_message
!active? ? :deactivated : super
end
Run Code Online (Sandbox Code Playgroud)
在您的devise.en.yml中,添加正确的错误消息:
devise:
failure:
deactivated: "Luke, I'm your father and your account was locked!"
Run Code Online (Sandbox Code Playgroud)