ROR用户身份验证

时间:2011-09-10 01:33:05

标签: ruby-on-rails

在用户登录新会话后,在我的网络应用程序中创建,直到他关闭浏览器,他仍然保持登录状态。当管理员想要禁止浏览器仍处于打开状态的用户时,会出现问题。即使用户被禁止并且无法再登录,他仍然会保持登录状态,直到他关闭浏览器或手动注销。这肯定应该修复。

是否可以为每个控制器的每个操作添加验证方法?当然,我的意思是一种聪明的方式 - 不要复制/粘贴100次。

2 个答案:

答案 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)

我认为你必须重置会议。