rails on ruby删除指定的session信息实现登录挤出功能
ruby版本:2.3.7
rails版本:5.2.8
session_store = Rails.application.config.session_store.new(:cache_store, Rails.application.config.session_options)
session_store.delete_session(ENV, token.value,Rails.application.config.session_options)
我这边用的是cache_store的方式,Rails.application.config.session_options是在config/initializers/session_store.rb中配置的,token.value是tokens表中记录的session.id值,可以通过查询tokens中用户除当前会话session.id其他会话的记录,然后使用delete_session方法删除其他会话,实现清除除了当前会话之外的所有登录状态。
这个类中还有其他方法,比如write_session重写session和find_session查询session信息等
刚开始学习rails,有错误之处烦请指正