在用户登录新会话后,在我的网络应用程序中创建,直到他关闭浏览器,他仍然保持登录状态。当管理员想要禁止浏览器仍处于打开状态的用户时,会出现问题。即使用户被禁止并且无法再登录,他仍然会保持登录状态,直到他关闭浏览器或手动注销。这肯定应该修复。
是否可以为每个控制器的每个操作添加验证方法?当然,我的意思是一种聪明的方式 - 不要复制/粘贴100次。
答案 0 :(得分:3)
将以下内容添加到应用程序控制器:
before_filter :sign_out_banned_user
def sign_out_banned_user
if current_user.banned?
session[:current_user_id] = nil
redirect_to root_path, :notice => "You are banned"
return false
end
end
答案 1 :(得分:1)
我认为你必须重置会议。