仅将用户连接到ActionCable

时间:2016-03-08 14:34:24

标签: ruby-on-rails actioncable

我在我的应用程序上使用了ActinCable,我在授权方面遇到了问题。目前,actioncable尝试重复授权网站上的每个人。

这将在我的日志中返回An unauthorized connection attempt was rejected的常量流。现在,这是因为访问未登录的人也试图获得访问权。

我的connection.rb看起来像这样:

module ApplicationCable
  class Connection < ActionCable::Connection::Base
    identified_by :current_user

    def connect
      self.current_user = find_verified_user
    end

    protected

      def find_verified_user
        if current_user = User.find_by(id: cookies.signed[:user_id])
          current_user
        else
          reject_unauthorized_connection
        end
      end
  end
end

现在我想知道我是否可以做到这一点,只有登录的人才会尝试获得connnection.rb的授权,而不是每个使用该网站的访问者。我对ActionCable太熟悉了解如何限制它 - 而ActionCable的文档仍处于早期阶段。

1 个答案:

答案 0 :(得分:3)

连接尝试是在调用ActionCable.createConsumer()时。您应该尝试仅在用户登录时调用它。