我正在使用设计并创建了一个名为 :active 的用户字段,该字段为真或假。在允许用户登录之前,我必须手动使用户处于活动状态(true)。至少这是意图。我试过这个...
class SessionsController < Devise::SessionsController
# POST /resource/sign_in
def create
"resource/signin CREATE"
self.resource = warden.authenticate!(auth_options)
unless resource.active?
sign_out
redirect_to :sorry_not_active_url
return
end
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
但是,这并不能捕获用户可以登录的所有地方,例如,当用户更改密码时,网站会在之后自动将其自动登录。但是,如果用户不活跃,我不希望他们被允许登录,而是被重定向到 sorry_not_active_url。
如果用户不活跃,防止用户登录的最佳方法是什么?
谢谢你。