如何在ActionCable Channel中获取request.session?

是否有一种方法可以在Connection中获取(或从session[:_csrf_token]传递)请求数据(实际上,我需要Channel,不要问为什么)?例如:

class MeetingChannel < ApplicationCable::Channel
  def subscribed
    session[:_csrf_token]
  end
end

目前,我只能在csrf_token中获得Connection

module ApplicationCable
  class Connection < actionCable::Connection::Base
    def connect
      puts "**********************************************************"
      puts "CSRF token: #{request.session[:_csrf_token]}"
      puts "**********************************************************"
    end
  end
end

输出(连接时):

**********************************************************
CSRF token: u33bsVI7HnF2bqWRfkriQUlLzIUpccdVovgRTAkoGKM=
**********************************************************
Lephia 回答:如何在ActionCable Channel中获取request.session?

在连接中,我们创建此方法(因为@request是私有的):

def session
  @request.session
end

然后,您可以在频道中访问会话,如下所示:

session = connection.session
本文链接:https://www.f2er.com/3161628.html

大家都在问