Rails 关于 Devise 控制用户退出

moliliang · 2015年02月03日 · 最后由 moliliang 回复于 2015年02月04日 · 1955 次阅读

大家好。。碰到一个问题。。 就是我想在后台让某个用户退出(不经过数据库,就是..不是根据某个特定的字段来判断用户是否退出)。

或者说,某个用户正在网站上,我想让他退出(用户刷新后,就退出网站了)。

直接调用sign_out user 似乎不行。。。

想删除用户cookie关联的session,又找不到这个session保存在哪里……

蛋好痛。。。

共收到 4 条回复

user 中加入 forced_out 属性,默认false,强制退出时更新为true

在application controller中加入

before_action :check_user

def check_user
  redirect_to destroy_user_session_path if user_signed_in? && current_user.forced_out?
end

注: 手敲未测

@heylonj 啊~谢谢, 如果要经过数据库的话,其实就很好办。。可就是不想经过数据库嘛。。。

#2楼 @moliliang

devise 使用了warden, 具体lz可以去看看源码。

#3楼 @heylonj 嗯,有注意到~~~ 但是没看到如何操作呢。。。看看先

moliliang 关闭了讨论 09月20日 11:46
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册