2013-05-08 51 views
1

在管理部分,我显示了当前登录的用户列表。现在管理员可以选择一个或多个用户/用户并销毁他们的会话(注销他们)。请帮助我,我在这里呆了两周。我也尝试过这种方法使用rails3中的自定义设计宝石注销用户

def sign_out_user 
     @selected_user = params[:user_ids] 
     for ur in @selected_user 
     usr= User.find(ur) 
     sign_out usr 
    end 
    redirect_to "https://stackoverflow.com/users/login_history" 
end 
+0

会发生什么?你有错误吗?他们没有退出?你确定'params [:user_ids]'有任何ID吗? – 2013-05-08 05:48:13

+0

实际上在使用此代码后没有发生什么事情,管理员本身只能登出。但是当中止并检查user_id时,id是不同的。 – Abhishek 2013-05-08 06:16:07

回答

1

默认情况下,会话存储在客户端上的Cookie。因此,如果不添加某种分代会话密钥等,则无法“注销”用户。 完成“注销”行为的最简单方法是将会话移至数据库。 例如:http://api.rubyonrails.org/classes/ActiveRecord/SessionStore.html 然后您可以销毁这些对象,并且用户将被有效注销。

+0

请您详细说明如何实施或解决此问题。 – Abhishek 2013-05-08 07:20:48

+0

使用数以千计的教程之一解释如何做到这一点。例如:http://problemateek.blogspot.co.il/2012/07/using-activerecord-session-store-in.html – Roman 2013-05-08 09:14:01

相关问题