我需要在管理站点创建一个功能,允许管理员强制注销任何用户。
我正在使用设计基于令牌的身份验证和尝试过的sign_out user
方法,它不起作用。
我需要在管理站点创建一个功能,允许管理员强制注销任何用户。
我正在使用设计基于令牌的身份验证和尝试过的sign_out user
方法,它不起作用。
admin
为该名称添加一个新列force_logout:boolean
在您的任何控制器中添加一个新操作以设置force_logout
为true
. 前任。:
# in admins_controller.rb
def force_logout
admin = Admin.find(params[:id])
admin.update_column(:force_logout, true)
redirect_to :back
end
application_controller.rb
添加到before_action
注销用户如果force_logout
是true
before_action :check_force_logout
def check_force_logout
if current_user && current_user.force_logout?
current_user.update_column(:force_logout, false)
sign_out(current_user)
end
end
管理员登录后,您也需要重置force_logout
列。通常您可以session_controller.rb
在操作中执行此操作create
。